Skip to content

Commit e7a8c51

Browse files
committed
Nouvelle gestion du changelog
Le fichier contient toutes les versions avec leurs modifications
1 parent 318b8a0 commit e7a8c51

File tree

3 files changed

+148
-18
lines changed

3 files changed

+148
-18
lines changed

.github/workflows/build-and-release.yaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ jobs:
1919

2020
- name: Create Release
2121
id: create_release
22-
uses: actions/create-release@v1
23-
env:
24-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
uses: ncipollo/release-action@v1
2523
with:
26-
tag_name: ${{ github.ref_name }}
27-
release_name: Release ${{ github.ref_name }}
28-
body_path: CHANGELOG.md
24+
token: ${{ secrets.GITHUB_TOKEN }}
25+
tag: ${{ github.ref_name }}
26+
name: Release ${{ github.ref_name }}
27+
generateReleaseNotes: true
2928
draft: false
3029
prerelease: false
3130

CHANGELOG.md

Lines changed: 136 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,146 @@
1-
## Summary
21

3-
## Changelog
2+
## 1.6.0
3+
4+
Lecture par système de fichier virtuel avec GDAL
45

5-
<!--
66
### [Added]
77

8+
* Storage
9+
* 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
10+
811
### [Changed]
912

10-
### [Deprecated]
13+
* Storage
14+
* 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
15+
16+
### [Fixed]
17+
18+
* Storage
19+
* Lecture binaire S3 : mauvaise configuration du nom du bucket et de l'objet et mauvaise lecture partielle
1120

1221
### [Removed]
1322

14-
### [Fixed]
23+
* Exceptions
24+
* `NotImplementedError` est une exceptions native
25+
26+
27+
## 1.5.0
28+
29+
### [Added]
30+
31+
* Level
32+
* Fonction de test d'une tuile `is_in_limits` : ses indices sont ils dans les limites du niveau ?
33+
* Pyramid
34+
* La lecture d'une tuile vérifie avant que les indices sont bien dans les limites du niveau
35+
* Les exceptions levées lors du décodage de la tuile raster emettent une exception `FormatError`
36+
* `get_tile_indices` accepte en entrée un système de coordonnées : c'est celui des coordonnées fournies et permet de faire une reprojection si celui ci n'est pas le même que celui des données dans la pyramide
37+
* Utils
38+
* 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
39+
* 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
40+
41+
### [Changed]
42+
43+
* Utils :
44+
* `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
45+
* Pyramid :
46+
* 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)
47+
48+
49+
## 1.4.4
50+
51+
Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des recommandations PyPA pour la gestion du projet.
52+
53+
### [Added]
54+
55+
* TileMatrix :
56+
* 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
57+
* Pyramid :
58+
* 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 et éventuellement un niveau
59+
* Fonctions de lecture d'une tuile : au format binaire source ou au format tableau à 3 dimensions pour les tuiles raster
60+
* Storage :
61+
* Fonction de lecture binaire, complète ou partielle, d'un fichier ou objet S3 ou CEPH
62+
* Exceptions : NotImplementedError permet de préciser qu'une fonctionnalité n'a pas été implémentée pour tous les cas. Ici, on ne gère pas la décompression des données raster pour les compressions packbit et LZW
63+
64+
* Ajout de la publication PyPI dans la CI GitHub
65+
66+
### [Changed]
67+
68+
* Storage :
69+
* La lecture sous forme de chaîne s'appuie sur la lecture complète binaire. Aucun changement à l'usage.
70+
* TileMatrixSet : quelque soit le système de coordonnées, on ne gère que un ordre des axes X,Y ou Lon,Lat. Cependant, les fonctions de calcul de ou à partir de bbox respectent l'ordre du système dans ces dernières.
71+
72+
* Passage de la configuration du projet dans le fichier `pyproject.toml`
73+
74+
75+
## 1.3.0
76+
77+
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.
78+
79+
### [Added]
80+
81+
* Librairie de lecture de données vecteur :
82+
* Chargement de données vecteur pour des fichiers shapefile, Geopackage, CSV et GeoJSON
83+
* Ecriture des tests unitaires
84+
* Librairie Pyramid : complétion des tests unitaires
85+
* Librairie Storage : prise en charge de la copie CEPH -> S3
86+
* Gestion du projet (compilations, dépendances...) via poetry
87+
* Injection de la version dans le fichier `pyproject.toml` et `__init__.py` (définition de la variable `__version__`)
88+
* Évolution de la CI github
89+
* Vérification des installations et tests unitaires sous ubuntu 20.04 python 3.8 et ubuntu 22.04 python 3.10
90+
* Publication de l'artefact avec les résultats des tests unitaires
91+
* Nettoyage de la release en cas d'erreur
92+
* Compilation de la documentation et publication sur la branche gh-pages
93+
94+
95+
## 1.2.0
96+
97+
Ajout des librairies pour l'utilitaire make-layer.py
98+
99+
### [Added]
100+
101+
* Librairie Storage : complétion des tests unitaires
102+
103+
* Librairie Pyramid :
104+
* Ajout de getter sur les niveaux du haut et du bas
105+
106+
* Ajout de la librairie de gestion d'une couche Layer :
107+
* Chargement d'une couche depuis des paramètres
108+
* Chargement d'une couche depuis un descripteur
109+
* Écriture du descripteur au format attendu par le serveur
110+
* Écriture des tests unitaires
111+
112+
* Ajout d'une librairie d'utilitaires Utils
113+
* Conversion d'un SRS en objet OSR SpatialReference
114+
* Conversion d'une bbox en objet OGR Geometry
115+
* Reprojection d'une bbox avec densification des côtés et reprojection partielle
116+
* Écriture des tests unitaires
117+
118+
* Configuration de l'outil coverage pour voir la couverture des tests unitaires
119+
120+
121+
## 1.1.0
122+
123+
Prise en charge de plusieurs clusters S3 de stockage.
124+
125+
### [Added]
126+
127+
* Librairie d'abstraction du stockage :
128+
* 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
129+
130+
131+
## 1.0.0
132+
133+
Initialisation des librairies Python utilisées par les outils python à venir du dépôt [pytools](https://github.com/rok4/pytools).
134+
135+
### [Added]
15136

16-
### [Security]
17-
-->
137+
* Librairie d'abstraction du stockage (S3, CEPH ou FILE)
138+
* récupération du contenu sous forme de string
139+
* écriture d'un contenu string
140+
* création d'un lien symbolique
141+
* copie fichier/objet <-> fichier/objet
142+
* Librairie de chargement d'un Tile Matrix Set
143+
* Librairie de gestion d'un descripteur de pyramide
144+
* chargement depuis un descripteur ou par clone (avec changement de stockage)
145+
* écriture du descripteur
146+
* Tests unitaires couvrant ces librairies

CONTRIBUTING.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
# Directives de contribution
22

3-
Tout d'abord, merci d'envisager de contribuer à ce projet !
4-
5-
Il s'agit principalement de lignes directrices, et non de règles. Faites preuve de discernement, et n'hésitez pas à proposer des modifications à ce document dans une pull request.
3+
Merci d'envisager de contribuer à ce projet !
64

75
## Git hooks
86

97
Nous utilisons les git hooks via [pre-commit](https://pre-commit.com/) pour appliquer et vérifier automatiquement certaines "règles". Veuillez l'installer avant de pousser un commit.
108

119
Voir le fichier de configuration correspondant : `.pre-commit-config.yaml`.
1210

13-
## CHANGELOG
11+
## Changelog
1412

1513
Pour éviter les conflits d'édition du changelog en cas de multiples contributions parallèles, n'éditez pas directement le fichier `CHANGELOG.md` sur votre branche de travail.
14+
1615
A la place, indiquez en description ou commentaire de votre pull request, bien en évidence, le changelog qui concerne spécifiquement cette PR, avec le même formalisme que le fichier `CHANGELOG.md`.
17-
Le mainteneur qui validera la PR éditera alors ce fichier dans le même temps, avec deux objectifs :
16+
17+
Lors de la release de la prochaine version, le mainteneur ajoutera vos notes de modifications dans le fichier `CHANGELOG.md` ce fichier dans le même temps, avec deux objectifs :
1818

1919
* la date de modification sera celle de la fusion de branches.
2020
* le contenu pourra tenir compte de toutes les modifications depuis la dernière release.
2121

2222
Le formalisme du changelog est le suivant, en markdown :
2323

2424
```md
25+
Résumé des objectifs des modifications apportées
26+
2527
### [Added]
2628

2729
Liste de nouvelles fonctionnalités.

0 commit comments

Comments
 (0)