Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Un endpoint pour ajouter du contenu à une ressource #1625

Open
Pierlou opened this issue Jan 6, 2025 · 0 comments
Open

Un endpoint pour ajouter du contenu à une ressource #1625

Pierlou opened this issue Jan 6, 2025 · 0 comments
Labels
💙 Back Les tickets de back 📐 Data

Comments

@Pierlou
Copy link

Pierlou commented Jan 6, 2025

L’amélioration que vous avez en tête

J'ai plusieurs cas d'usage (notamment les KPIs de data.gouv) pour lesquels j'alimente un fichier historisé avec de nouvelles données tabulaires, souvent quelques lignes. Actuellement je peux :

  • récupérer la ressource existante, lui ajouter lesdites lignes, puis remplacer la ressource
  • regénérer le fichier complet à date depuis la source, puis remplacer la ressource

Idéalement je souhaiterais pouvoir concaténer mes nouvelles lignes à la ressource existante, pour ne plus avoir qu'à générer les nouvelles données, sans avoir à gérer l'historique. Cela pourrait ressembler à :

new_data = pd.DataFrame(...)
new_data.to_csv("new_rows.csv", header=False)

requests.patch(
     f"https://www.data.gouv.fr/api/1/datasets/{dataset_id}/resources/{r_id}/",
     content=open("new_rows.csv"),
)

J'ai conscience que c'est un super-pouvoir, qui implique de grandes responsabilités 🕸️ (veut-on s'assurer côté back que la ressource est bien tabulaire, que les données sont compatibles, etc., ou bien laisser le producteur face à ses responsabilités ?)

@Pierlou Pierlou added 💙 Back Les tickets de back 📐 Data labels Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💙 Back Les tickets de back 📐 Data
Projects
None yet
Development

No branches or pull requests

1 participant