Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
19cf42d
vector.py : skelton du fichier 'vector' suite revue du 23092025 avec …
fbacquelot Sep 25, 2025
75eaf2a
fichiers ARRONDISSEMENT* & vector* : suppression des données vectorie…
fbacquelot Sep 25, 2025
ac8241e
vectorset.json : ajout du fichier descriptor
fbacquelot Sep 25, 2025
e96ddd8
filelist.txt : ajout du fichier contenant la liste des chemins d'exem…
fbacquelot Sep 25, 2025
7882024
martinique.gpkg, states.geojson & TM_WORLD_BORDERS-0.3.* : exemples d…
fbacquelot Sep 25, 2025
6ee5dd0
données d'entrées supprimées pour être déplacées dans le dossier "data"
fbacquelot Sep 26, 2025
43fbee5
vector.py : mise à jour du code suite revue de Théo des autres points…
fbacquelot Sep 26, 2025
3dcdecb
test_vector.py : couverture des tests à 84% mais certains tests reste…
fbacquelot Sep 26, 2025
36069a4
test_vector.py : correction des erreurs mais tests à revoir dans leur…
fbacquelot Sep 26, 2025
be281a6
vector.py : suppression des try except car on lève déjà les exception…
fbacquelot Sep 26, 2025
cd237c6
vector.py : commentaires + docstring en anglais + remise au propre de…
fbacquelot Oct 9, 2025
cb76128
test_vector.py : couverture des tests unitaires et d'intégration à 87…
fbacquelot Oct 9, 2025
be4f23c
test_vector.py : passage des commentaires, l'en-tête et la docstring …
fbacquelot Oct 9, 2025
9166e9f
test_vector.py : ajout de deux méthodes de test 'test_write_descripto…
fbacquelot Oct 9, 2025
8c7e78f
test_vector.py : ajout de la méthode de test 'test_from_descriptor_ra…
fbacquelot Oct 9, 2025
8214cb2
vector.py : initialisation de l'objet du descriptor de 'VectorSet()'
fbacquelot Oct 9, 2025
1f365a0
test_vector.py : ajout de commentaires en anglais dans la docstring d…
fbacquelot Oct 9, 2025
b3f2075
test_vector.py : ajout de commentaires manquants
fbacquelot Oct 9, 2025
1eca29b
test_vector.py : si le fichier "output.json" est créé alors on le sup…
fbacquelot Oct 10, 2025
3a8a654
vector.py : ajout commentaire en anglais + affichage à l'écran + supp…
fbacquelot Oct 10, 2025
d169c8f
test_vector.py : revue des tests unitaires et d'intégration => tous l…
fbacquelot Oct 10, 2025
3de902d
[pre-commit.ci] Corrections automatiques appliquées par les git hooks.
pre-commit-ci[bot] Oct 10, 2025
43401f2
vector.py : revue de la sérialisation des tables dans la classe Vector()
fbacquelot Oct 11, 2025
8d306f0
test_vector.py : revue des tests pour vérifier que la classe Vector()…
fbacquelot Oct 11, 2025
9653d7c
test_vector.py : revue des tests de la sérialization de la classe 'Ve…
fbacquelot Oct 11, 2025
20221c4
[pre-commit.ci] Corrections automatiques appliquées par les git hooks.
pre-commit-ci[bot] Oct 11, 2025
0313770
vector.py : oubli d'un commentaire qui n'était pas traduit en anglais
fbacquelot Oct 11, 2025
8d42810
Merge branch 'feature/vectorset' of github.com:rok4/core-python into …
fbacquelot Oct 11, 2025
d73c102
vector.py : ajout de commentaires dans les headers + esthétique fin d…
fbacquelot Oct 12, 2025
513048b
test_vector.py : ajout de typage d'arguments de sortie + buts de fonc…
fbacquelot Oct 12, 2025
f80928d
[pre-commit.ci] Corrections automatiques appliquées par les git hooks.
pre-commit-ci[bot] Oct 12, 2025
13e09b9
Homogénéisation des fichiers
pre-commit-ci[bot] Oct 12, 2025
5fa247f
fix(vector.py) : documentation written in docstring google + delete p…
fbacquelot Jan 7, 2026
8c1091b
fix(test_vector.py) : all tests have passed and tests fully coverage
fbacquelot Jan 7, 2026
a3a4bb6
Merge branch 'feature/vectorset' of github.com:rok4/core-python into …
fbacquelot Jan 7, 2026
03a7f91
[pre-commit.ci] Corrections automatiques appliquées par les git hooks.
pre-commit-ci[bot] Jan 7, 2026
57d0911
fix(vector.py) : fix raises cannot open vector file/object path
fbacquelot Jan 7, 2026
2659680
Merge branch 'feature/vectorset' of github.com:rok4/core-python into …
fbacquelot Jan 7, 2026
c71b859
fix(test_vector.py) : add missing docstring
fbacquelot Jan 8, 2026
aa8bdeb
fix(vector.py) : add information in input arguments types for 'from_p…
fbacquelot Jan 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@ repos:
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: fix-encoding-pragma
args: [--remove]
- id: name-tests-test
args: [--pytest-test-first]
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]

- repo: https://github.com/asottile/pyupgrade
rev: v3.21.2
hooks:
- id: pyupgrade

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.12.2"
hooks:
Expand Down
98 changes: 54 additions & 44 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,76 +1,86 @@
## 2.2.3
# Changelog

### [Changed]
Tous les changements sont consignés dans ce fichier.

* Module `storage` : il est possible de l'utiliser sans avoir la librairie GDAL : seule la fonction `get_osgeo_path` pour du S3 ne sera pas disponible
Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce projet respecte le [Semantic Versioning](https://semver.org/).

## [Unreleased]

## 2.2.0
### Added
### Changed
### Deprecated
### Removed
### Fixed

### [Added]
## [2.2.3] - 2024-10-01

### Changed

* Module `storage` : il est possible de l'utiliser sans avoir la librairie GDAL : seule la fonction `get_osgeo_path` pour du S3 ne sera pas disponible

### Added

* Ajout de la librairie de gestion d'un style ROK4

## 2.1.5
## [2.1.5] - 2024-04-29

### [Changed]
### Changed

* Pyramid : la fonction de chargement de la liste en mémoire retourne le nombre de dalle

## 2.1.4
## [2.1.4] - 2024-02-13

### [Fixed]
### Fixed

* Storage : la réponse à un HEAD (test existence en S3) donne un code 404 et non NoSuchKey (confusion avec la lecture d'objet)
* RasterSet: le chargement d'un raster set à partir d'un fichier ou d'un descripteur utilise la librairie Storage et non la librairie GDAL

## 2.1.3
## [2.1.3] - 2024-02-08

### [Fixed]
### Fixed

* Storage : dans le cas d'une lecture ou d'un test existence sur un objet S3 absent, le code dans la réponse n'est pas 404 mais NoSuchKey

## 2.1.0

### [Added]
### Added

* Pyramid
* Ajout de fonctions pour récupérer la tile_limits et le nombre de canaux de cette pyramide
* Ajout de fonctions pour ajouter ou supprimer des niveaux dans une pyramide
* TileMatrixSet
* Ajout de fonctions pour récupérer la hauteur et la largeur de tuiles d'un TileMatrixSet

### [Changed]
### Changed

* Pyramid
* Ajout d'un paramètre optionnel "mask" pour le constructeur from other afin de pouvoir conserver ou non les masques de la pyramide servant de base à la nouvellle
* Gestion des documentations des différentes versions avec l'outil [mike](https://github.com/jimporter/mike)

## 2.0.1
## [2.0.1] - 2023-10-09

### [Added]
### Added

* `storage` : le cache de lecture est configurable en taille (avec ROK4_READING_LRU_CACHE_SIZE) et en temps de rétention (avec ROK4_READING_LRU_CACHE_TTL)

### [Security]
### Security

* Montée de version de pillow (faille de sécurité liée à libwebp)

## 2.0.0
## [2.0.0] - 2023-09-26

### [Fixed]
### Fixed

* Pyramid
* quand on lit une tuile dans une pyramide PNG 1 canal, on retourne bien aussi un numpy.array à 3 dimensions (la dernière dimension sera bien un array à un élément)

### [Changed]
### Changed

* Storage
* Le client S3 garde ouverte des connexions
* La fonction get_data_binary a un système de cache de type LRU, avec un temps de validité de 5 minutes

## 1.7.1
## [1.7.1] - 2023-07-10

### [Added]
### Added

* Raster
* Classe RasterSet, réprésentant une collection d'objets de la classe Raster, avec des informations supplémentaires
Expand All @@ -88,7 +98,7 @@
* Ajout de la copie de HTTP vers FILE/S3/CEPH
* Ajout de la fonction de lecture d'un fichier HTTP, de l'existence d'un fichier HTTP et du calcul de taille d'un fichier HTTP

### [Changed]
### Changed

* Raster
* Homogénéisation du code
Expand All @@ -100,41 +110,41 @@
* Mise en conformité PEP-8 des fonctions `compute_bbox` et `compute_format`


### [Fixed]
### Fixed

* Utils
* Correction d'un nom de variable dans la fonction `compute_format`, qui écrasait une fonction du noyau python.



## 1.6.0
## [1.6.0] - 2023-03-20

Lecture par système de fichier virtuel avec GDAL

### [Added]
### Added

* Storage
* Fonction `get_osgeo_path` permettant de configurer le bon sytème de fichier virtuel en fonction du chemin fourni, et retourne celui à utiliser dans le Open de gdal ou ogr

### [Changed]
### Changed

* Storage
* la récupération d'un client S3 (`__get_s3_client`) permet de récupérer le client, l'hôte, les clés d'accès et secrète, ainsi que le nom du bucket sans l'éventuel hôte du cluster

### [Fixed]
### Fixed

* Storage
* Lecture binaire S3 : mauvaise configuration du nom du bucket et de l'objet et mauvaise lecture partielle

### [Removed]
### Removed

* Exceptions
* `NotImplementedError` est une exceptions native


## 1.5.0
## [1.5.0] - 2023-03-17

### [Added]
### Added

* Level
* Fonction de test d'une tuile `is_in_limits` : ses indices sont ils dans les limites du niveau ?
Expand All @@ -146,19 +156,19 @@ Lecture par système de fichier virtuel avec GDAL
* Meilleure gestion de reprojection par `reproject_bbox` : on détecte des systèmes identiques en entrée ou quand seul l'ordre des axes changent, pour éviter le calcul
* Ajout de la fonction de reprojection d'un point `reproject_point` : on détecte des systèmes identiques en entrée ou quand seul l'ordre des axes changent, pour éviter le calcul

### [Changed]
### Changed

* Utils :
* `bbox_to_geometry` : on ne fournit plus de système de coordonnées, la fonction se content de créer la géométrie OGR à partir de la bbox, avec éventuellement une densification en points des bords
* Pyramid :
* Renommage de fonction : `update_limits` -> `set_limits_from_bbox`. Le but est d'être plus explicite sur le fonctionnement de la fonction (on écrase les limites, on ne les met pas juste à jour par union avec la bbox fournie)


## 1.4.4
## [1.4.4] - 2023-03-10

Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des recommandations PyPA pour la gestion du projet.

### [Added]
### Added

* TileMatrix :
* Fonction de calcul des indices de tuile et de pixel dans la tuile à partir d'un point dans le système de coordonnées du TMS
Expand All @@ -171,7 +181,7 @@ Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des reco

* Ajout de la publication PyPI dans la CI GitHub

### [Changed]
### Changed

* Storage :
* La lecture sous forme de chaîne s'appuie sur la lecture complète binaire. Aucun changement à l'usage.
Expand All @@ -180,11 +190,11 @@ Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des reco
* Passage de la configuration du projet dans le fichier `pyproject.toml`


## 1.3.0
## [1.3.0] - 2023-02-27

Ajout de la librairie de lecture de données vecteur, de tests unitaires et ajout de fonctionnalité pour le stockage. Amélioration de la gestion du projet et de l'intégration continue.

### [Added]
### Added

* Librairie de lecture de données vecteur :
* Chargement de données vecteur pour des fichiers shapefile, Geopackage, CSV et GeoJSON
Expand All @@ -200,11 +210,11 @@ Ajout de la librairie de lecture de données vecteur, de tests unitaires et ajou
* Compilation de la documentation et publication sur la branche gh-pages


## 1.2.0
## [1.2.0] - 2023-01-27

Ajout des librairies pour l'utilitaire make-layer.py

### [Added]
### Added

* Librairie Storage : complétion des tests unitaires

Expand All @@ -226,21 +236,21 @@ Ajout des librairies pour l'utilitaire make-layer.py
* Configuration de l'outil coverage pour voir la couverture des tests unitaires


## 1.1.0
## [1.1.0] - 2023-01-13

Prise en charge de plusieurs clusters S3 de stockage.

### [Added]
### Added

* Librairie d'abstraction du stockage :
* Prise en charge de plusieurs clusters S3. Les variables d'environnement pour le stockage S3 précisent plusieurs valeurs séparées par des virgules, et les noms des buckets peuvent être suffixés par "@{S3 cluster host}". Par défaut, le premier cluster défini est utilisé. L'hôte du cluster n'est jamais écrit dans le descripteur de pyramide ou le fichier liste (puisque stockés sur le cluster, on sait sur lequel sont les objets). Les objets symboliques ne le précisent pas non plus et ne peuvent être qu'au sein d'un cluster S3


## 1.0.0
## [1.0.0] - 2022-11-30

Initialisation des librairies Python utilisées par les outils python à venir du dépôt [pytools](https://github.com/rok4/pytools).

### [Added]
### Added

* Librairie d'abstraction du stockage (S3, CEPH ou FILE)
* récupération du contenu sous forme de string
Expand Down
16 changes: 7 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,30 @@ Voir le fichier de configuration correspondant : `.pre-commit-config.yaml`.

## Pull request

Le titre de la PR est utilisé pour constituer automatiquement les notes de release. Vous pouvez préciser en commentaire de votre PR des détails qui seront ajoutés dans le fichier `CHANGELOG.md` par les mainteneurs du projet.

Le formalisme du changelog est le suivant, en markdown :
Complétez le fichier `CHANGELOG.md`, dans la partie `[Unreleased]`, en précisant les modifications fonctionnelles apportées. Celles ci seront utilisées pour rédiger le message de release sur GitHub. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/). Les sections sont les suivantes :

```md
### [Added]
### Added

Liste de nouvelles fonctionnalités.

### [Changed]
### Changed

Liste de fonctionnalités existantes modifiées.

### [Deprecated]
### Deprecated

Liste de fonctionnalités dépréciées.

### [Removed]
### Removed

Liste de foncitonnalités retirées.

### [Fixed]
### Fixed

Liste de corrections fonctionnelles.

### [Security]
### Security

Liste de corrections de sécurité.
```
Expand Down
Loading