{"id":13587184,"url":"https://github.com/Eonm/refine-io","last_synced_at":"2025-04-07T19:30:57.018Z","repository":{"id":135093063,"uuid":"231961579","full_name":"Eonm/refine-io","owner":"Eonm","description":"Manage OpenRefine projects","archived":false,"fork":false,"pushed_at":"2020-01-31T14:16:31.000Z","size":67,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-13T21:46:13.487Z","etag":null,"topics":["data-mining","openrefine","openrefine-api"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eonm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-01-05T18:52:55.000Z","updated_at":"2020-10-09T21:22:47.000Z","dependencies_parsed_at":"2024-02-13T21:55:23.870Z","dependency_job_id":null,"html_url":"https://github.com/Eonm/refine-io","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eonm%2Frefine-io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eonm%2Frefine-io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eonm%2Frefine-io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eonm%2Frefine-io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eonm","download_url":"https://codeload.github.com/Eonm/refine-io/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247716117,"owners_count":20984174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-mining","openrefine","openrefine-api"],"created_at":"2024-08-01T15:06:04.689Z","updated_at":"2025-04-07T19:30:56.686Z","avatar_url":"https://github.com/Eonm.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 💎 RefineIO\n\n[![Build Status](https://travis-ci.com/Eonm/refine-io.svg?branch=master)](https://travis-ci.com/Eonm/refine-io)\n[![Coverage Status](https://coveralls.io/repos/github/Eonm/refine-io/badge.svg?branch=master)](https://coveralls.io/github/Eonm/refine-io?branch=master)\n[![dependency status](https://deps.rs/repo/github/eonm/refine-io/status.svg)](https://deps.rs/repo/github/eonm/refine-io)\n[![made-with-Rust](https://img.shields.io/badge/Made%20with-Rust-1f425f.svg)](https://www.rust-lang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n_RefineIO facilite la création la transformation et l'export de projets OpenRefine_\n\u003c/div\u003e\n\n## Installation\n\nVous pouvez installer la dernière version stable de refineIO depuis la page [release](https://github.com/Eonm/refine-io/releases) de ce dépôt.\n\n### Compilation et installation depuis le code source\n\n\nPour compiler refineIO vous devez avoir installé [rust](https://www.rust-lang.org/tools/install) sur votre système.\n\n__Linux__\n\nSous Linux la compilation et l'installation de refineIO peuvent être réalisées grâce au Makefile présent dans ce dépôt.\n\n```sh\nmake build\nsudo make install\n```\n\n__Windows__\n\n```sh\ncargo build --release\n```\n\nLe binaire de refineIO sera compilé dans le dossier suivant : `target\\release`\n\n## Configuration\n\nPar défaut refineIO utilise l'adresse `127.0.0.1:3333` pour se connecter au serveur OpenRefine. Vous pouvez changer ce comportement en ajoutant une variable d'environnement `REFINE_URL` à votre système ou dans un fichier `.env` situé dans le répertoire ou est exécuté refineIO.\n\n__Sous Linux__\n\n```sh\nexport REFINE_URL=ADRESSE_DU_SERVEUR\n```\n\n__Sous Windows__\n\n```cmd\nsetx REFINE_URL \"ADRESSE_DU_SERVEUR\"\n```\n\n__Dans un fichier .env (Windows et Linux)__\n\nLe contenu du fichier `.env` doit être :\n\n```sh\nREFINE_URL=ADRESSE_DU_SERVEUR\n```\n\n## Usages\n\nRefineIO permet de réaliser quatre grands types d'opérations avec OpenRefine : \n\n* __la création de projets__\n* __l'application de scripts__\n* __l'export de projets__\n* __la suppression de projets__\n\n```sh\nrefine-io -h\n```\n\n### Création d'un projet OpenRefine\n\nLes projets OpenRefine peuvent être créés à partir de plusieurs sources :\n\n* une URL\n* un fichier de données\n* des données passées par l'entrée standard\n\nLes données d'entrée peuvent être au format csv, tsv, json et xml.\n\n\n__Import depuis un fichier__ `--input=FICHIER`\n\n\n```sh\nrefine-io --input=playground/input.json --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]'\n```\n\nL'option __record-path__ permet de préciser la manière dont les fichiers json et xml doivent être analysés par OpenRefine.\n\n__Import depuis une URL__ `--input=URL`\n\n```sh\nrefine-io --input=\"http://www.theses.fr/?q=*:*\u0026format=json\" --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]'\n```\n\nSeul les URLs valides et ayant un protocole (http, https, etc.) sont acceptées par refineIO.\n\n__Import depuis l'entrée standard__\n\n```sh\ncat playground/input.json | refine-io --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]'\n```\n__Spécifier un nom de projet__ `--name=NOM`\n\nPar défaut le nom d'un projet correspond à la date du jour au format UTC. Il est possible de spécifier le nom du projet avec l'option `--name`. Cette option ne peut être utilisée que pour la création d'un projet.\n\n```sh\nrefine-io --input=playground/input.json --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]' --name=\"nom du projet\"\n```\n\n__Ouverture automatique du projet OpenRefine__ `--open-project`\n\nAprès sa création le projet OpenRefine peut être ouvert automatiquement dans le navigateur.\n\n```sh\nrefine-io --input=playground/input.json --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]' --open-project\n```\n\n### Application de scripts\n\nLes scripts peuvent être appliqués sur un projet existant ou sur un projet créé. \n\nPar défaut les scripts sont appliqués de manière asynchrone, c'est-à-dire que refineIO n'attendra pas qu'ils aient été entièrement appliqués avant de passer aux opérations suivantes comme l'export. Il est possible de forcer refineIO a appliquer les scripts de manière synchrone avec l'option `--sync`. \n\n__Après la création d'un projet__ `--script=SCRIPT.json`\n\n```sh\nrefine-io --input=playground/input.json --format=json --record-path='[\"_\", \"response\", \"docs\", \"_\"]' --script=playground/script.json\n```\n\n__Sur un projet existant__ `--script=SCRIPT.json`\n\n```sh\nrefine-io --project-id=123456789 --script=playground/script.json\n```\n\n### Exporter les données d'un projet\n\nRefineIO permet d'exporter ou d'afficher les données d'un projet OpenRefine.\n\n__Afficher les données d'un projet dans la sortie  standard__ `--print=FORMAT`\n\nLes données peuvent être affichées au format csv, tsv et html.\n\n```sh\nrefine-io --project-id=123456789 --print csv\n```\n\n```sh\nrefine-io --project-id=123456789 --print csv \u003e data.csv\n```\n\n__Exporter les données dans un fichier__ `--export=FORMAT`\n\nLes données peuvent être exportées au format csv, tsv, html, xsl, xsls et ods.\n\nSi aucun nom de fichier n'est spécifié à l'export `-o` le fichier téléchargé portera le nom du projet OpenRefine.\n\n```sh\nrefine-io --project-id=123456789 --export csv\n```\n\n```sh\nrefine-io --project-id=123456789 --export csv -o data.csv\n```\n\nL'option `sync` permet d'attendre que les scripts de modification aient été appliqués avant de télécharger ou d'afficher les données dans la console.\n\n__Ouverture automatique du fichier exporté__ `--open-export`\n\nLes données exportées peuvent être ouvertes dans le logiciel par défaut de votre système d'exploitation.\n\n```sh\nrefine-io --project-id=123456789 --export csv --open-export\n```\n\n## Suppression du projet\n\nLe projet OpenRefine peut être supprimé grâce à l'option `--clean`. __Attention cette action est irréversible.__ Aucune confirmation ne sera demandée par refineIO.\n\n```sh\nrefine-io --project-id=123456789 --export csv --open-export\n```\n\n## Variables d'environnement\n\nCertaines variables d'environnement peuvent être utilisées pour changer le comportement de refineIO\n\n`RECORD_PATH` = définit le record path à utiliser par défaut\n\n`RUST_LOG` = permet de définir le niveau de log (\"trace\", \"debug\", \"info\", \"warn\" et \"error\"). Voir [env_logger](https://docs.rs/crate/).\n\n`CHECK_ASYNC_INTERVAL` = il correspond à l'intervalle (ms) de vérification des processus asynchrone d'OpenRefine. Cette variable est utilisée par l'option `--sync` ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEonm%2Frefine-io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEonm%2Frefine-io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEonm%2Frefine-io/lists"}