All Projects → qcif → Data Curator

qcif / Data Curator

Licence: mit
Data Curator - share usable open data

Projects that are alternatives of or similar to Data Curator

Swiftcsv
CSV parser for Swift
Stars: ✭ 511 (+156.78%)
Mutual labels:  csv, tsv
Pyexcel Io
One interface to read and write the data in various excel formats, import the data into and export the data from databases
Stars: ✭ 40 (-79.9%)
Mutual labels:  csv, tsv
Csvtk
A cross-platform, efficient and practical CSV/TSV toolkit in Golang
Stars: ✭ 566 (+184.42%)
Mutual labels:  csv, tsv
Visidata
A terminal spreadsheet multitool for discovering and arranging data
Stars: ✭ 4,606 (+2214.57%)
Mutual labels:  csv, tsv
Dataportals.org
Open Data Portals and Sites around the world
Stars: ✭ 87 (-56.28%)
Mutual labels:  open-data, csv
Pytablewriter
pytablewriter is a Python library to write a table in various formats: CSV / Elasticsearch / HTML / JavaScript / JSON / LaTeX / LDJSON / LTSV / Markdown / MediaWiki / NumPy / Excel / Pandas / Python / reStructuredText / SQLite / TOML / TSV.
Stars: ✭ 422 (+112.06%)
Mutual labels:  csv, tsv
Structured Text Tools
A list of command line tools for manipulating structured text data
Stars: ✭ 6,180 (+3005.53%)
Mutual labels:  csv, tsv
Sqawk
Like Awk but with SQL and table joins
Stars: ✭ 263 (+32.16%)
Mutual labels:  csv, tsv
Tsv Utils
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.
Stars: ✭ 1,215 (+510.55%)
Mutual labels:  csv, tsv
Q
q - Run SQL directly on CSV or TSV files
Stars: ✭ 8,809 (+4326.63%)
Mutual labels:  csv, tsv
Rainbow csv
🌈Rainbow CSV - Vim plugin: Highlight columns in CSV and TSV files and run queries in SQL-like language
Stars: ✭ 337 (+69.35%)
Mutual labels:  csv, tsv
Winmerge
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
Stars: ✭ 2,358 (+1084.92%)
Mutual labels:  csv, tsv
Sq
swiss-army knife for data
Stars: ✭ 275 (+38.19%)
Mutual labels:  csv, tsv
Vroom
Fast reading of delimited files
Stars: ✭ 462 (+132.16%)
Mutual labels:  csv, tsv
Flatfiles
Reads and writes CSV, fixed-length and other flat file formats with a focus on schema definition, configuration and speed.
Stars: ✭ 275 (+38.19%)
Mutual labels:  csv, tsv
Sqlitebiter
A CLI tool to convert CSV / Excel / HTML / JSON / Jupyter Notebook / LDJSON / LTSV / Markdown / SQLite / SSV / TSV / Google-Sheets to a SQLite database file.
Stars: ✭ 601 (+202.01%)
Mutual labels:  csv, tsv
jupyterlab-spreadsheet-editor
JupyterLab spreadsheet editor for tabular data (e.g. csv, tsv)
Stars: ✭ 72 (-63.82%)
Mutual labels:  tsv, csv
qwery
A SQL-like language for performing ETL transformations.
Stars: ✭ 28 (-85.93%)
Mutual labels:  tsv, csv
Faster Than Csv
Faster CSV on Python 3
Stars: ✭ 52 (-73.87%)
Mutual labels:  csv, tsv
Rbql
🦜RBQL - Rainbow Query Language: SQL-like language for (not only) CSV file processing. Supports SQL queries with Python and JavaScript expressions
Stars: ✭ 118 (-40.7%)
Mutual labels:  csv, tsv

GitHub package version JavaScript Style Guide vue-recommended-style Travis Build Status Appveyor Build status Appveyor Acceptance Test status

Unit Test Coverage Status Github All Releases Github Releases

Download Data Curator for Windows or macOS. ✨ Request a new feature 💡 Report a bug 🐞 View our plans 🚀 Now available through the Microsoft Windows Store. 🏬

Data Curator

data curator icon

Data Curator is a simple desktop data editor to help describe, validate and share usable open data.

Why do we need Data Curator?

Open data creators are increasingly focusing on improving open data publishing so that data can be used to create insight and drive positive change.

Open data is more likely to be used if data consumers can:

  • understand why and how the data was collected
  • understand the structure of the data
  • look up the meaning of codes used in the data
  • understand the quality of the data
  • access the data in an open machine-readable format
  • know how the data is licensed and how it can be reused

Features

Using Data Curator open data producers can:

  • create and edit tabular data from scratch or from a template
  • open data from a comma, semi-colon, or tab separated file, or Microsoft Excel file
  • open multiple related data tables from a Data Package
  • automatically correct common problems found in CSV and Excel files

Using data from any of these sources, you can:

  • automatically create a schema that describes the data fields
  • refine the schema to include extra data validation rules
  • validate the data against the schema
  • describe the provenance of your data
  • save data as a valid separated value file in various CSV dialects (e.g. comma, semi-colon, or tab separated files)

Once the data is described and validated, you can share the data and its description by exporting a Data Package to:

  • publish the data on a CKAN open data portal
  • use it as a template for others to make similar data

Open data consumers can use published Data Packages to:

  • view the data structure and provenance information to help determine if the data is fit for their purpose
  • download the data together with its metadata in a single zip file
  • use a suite of tools to work with the data

data curator screen shot

Follow our progress

Interested in this project? Subscribe to Data Curator News to get occasional updates on our progress and hear about each release. Find help.

Contributions

We welcome all types of contributions to Data Curator:

We acknowledge the great work of others. We are:

Data Curator proudly uses open source software, including:

software organisation licence support
Comma Chameleon The Open Data Institute MIT join
datapackage.js Open Knowledge MIT donate
tableschema-js Open Knowledge MIT donate
Electron GitHub MIT contribute
Node.js Node.js licence contribute
Chromium The Chromium Authors licence contribute
Vue.js Yuxi (Evan) You MIT donate
electron-vue SimulatedGREG (Greg Holguin) MIT contribute
Handsontable Handsontable MIT buy pro
Cucumber.js Cucumber.io MIT contribute

Download and Install Data Curator

  • Data Curator is now available through the Microsoft Windows store. Go to the Windows store website and search for "Data Curator".
  • Alternatively, choose a platform from the Releases page and download an unsigned release.
  • Drag the application to your 'Start Menu' or 'Applications folder.

Development

We develop against the 'develop' branch. The 'master' branch contains tagged releases. We are currently using this branching model by Vincent Driessen.

Requirements

node
yarn
electron

You can use yarn to install all relevant packages and development dependencies. (Install yarn)

We're keeping our dependencies up to date with Dependabot.

Running the application locally

To open the app on your local machine and run Data Curator in development mode:

  • change to your local Data Curator directory
  • yarn (pulls down all dependencies)
  • yarn run dev

Data Curator will launch with an extra Developer menu.

data curator developer mode

Application Architecture

Data Curator is built using Electron, a framework that allows developers to build desktop applications using web technology.

There are two parts of the application, the main process and the renderer process. The main process deals with things like carrying out file operations, validating CSVs, and rendering views. The renderer acts very much like client side javascript in a web browser, dealing with things like presentation, and user interactions.

IPC messaging

Electron passes and listens for messages between main and renderer using the IPC module, one for the main process and one for the renderer process.

Coding Standards

We have adopted Standard JS as our JavaScript coding standard.

We have adopted Recommended Vue as our Vue coding standard.

JavaScript Style Guide

Tests

Acceptance tests

Acceptance tests for Data Curator are:

Acceptance tests are automatically added to Cucumber Pro via a GitHub webhook.

Unit tests

For unit testing, we use:

  • Karma, a browser test runner, designed for low-level/unit testing. Currently we use this for testing code running in electron's 'renderer' process.
  • Mocha
  • Chai
  • Sinon
  • Mocha-webpack, a mocha test runner with integrated webpack precompiler. Currently we use this for testing code running in electron's 'main' process.

Continuous integration

For continuous integration, we use:

We plan to integrate the acceptance and unit tests with code commits

To run unit tests and implemented acceptance tests:

yarn run test

Deployment

Building a new package

To build Data Curator locally:

yarn run build

To automate deployment, we are using:

To trigger the automated build and draft release, create and push a git tag, following the versioning pattern used in current releases. Ensure that any changes in this tag are also released back to develop and master branches.

Changes are recorded on the Releases page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].