Data Curator is a simple desktop CSV 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
Using Data Curator open data producers can:
- create and edit tabular data from scratch or from a template
- open data from a CSV 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 CSV file in various CSV dialects
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
Follow our progress
We welcome all types of contributions to Data Curator:
We acknowledge the great work of others. We are:
- inspired by the ODI Comma Chameleon experiment.
- using the Open Knowledge International Frictionless Data specification and code libraries
- adopting W3C Data on the Web Best Practices
Data Curator proudly uses open source software, including:
|Comma Chameleon||The Open Data Institute||MIT||join|
|Chromium||The Chromium Authors||licence||contribute|
|Vue.js||Yuxi (Evan) You||MIT||donate|
|electron-vue||SimulatedGREG (Greg Holguin)||MIT||contribute|
Download and Install Data Curator
- Choose a platform from the Releases page.
- Drag the application to your applications folder.
If you encounter a warning message informing you the application cannot be opened due to being from an unknown developer, try:
- Right click the app
- then option + click on Open.
This warning occurs due to macOS quarantining applications when it cannot determine the certificate used to sign the application. We're planning to sign the application so this goes away.
We develop against the 'develop' branch. The 'master' branch contains tagged releases. We are currently using this branching model by Vincent Driessen.
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 is built using Electron, a framework that allows developers to build desktop applications using web technology.
Acceptance tests for Data Curator are:
arranged in folders like the application menu structure
Spectron, a purpose built Electron testing framework
other common testing tools, such as
Acceptance tests are automatically added to Cucumber Pro via a GitHub webhook.
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-webpack, a mocha test runner with integrated webpack precompiler. Currently we use this for testing code running in electron's 'main' process.
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
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.