Skip to content

Commit

Permalink
let's use purescript
Browse files Browse the repository at this point in the history
upload PS sources, currently the new validator can do
basic concepts/entities validation (including Gapminder#563)
except:
- check all headers are valid concepts
- check is--entity_set header match entity set inferred from filename
  • Loading branch information
semio committed Oct 16, 2022
1 parent b4b6021 commit 47350c8
Show file tree
Hide file tree
Showing 22 changed files with 2,434 additions and 37 deletions.
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,14 @@ npm-debug.log
coverage
_results
_results-test

/bower_components/
/node_modules/
/.pulp-cache/
/output/
/generated-docs/
/.psc-package/
/.psc*
/.purs*
/.psa*
/.spago
*.log
53 changes: 17 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,17 @@
This app checks the validity of [DDF datasets](https://open-numbers.github.io/ddf.html) and generates datapackage

You can use this app in 3 ways: through a GUI of Gapminder Offline, as a command line tool or through the API

## Normal people can use validator in Gapminder Offline app (version 3.3.0+)

* Download and install [Gapminder Offline](https://gapminder.org/tools-offline)
* Go to the top-right menu and choose "DDF tools". Follow instructions on the screen for the rest of the process.

#### datapackage
* With Gapminder Offline DDF tools you can also create or update datapackage file if you choose an option to do so.

## Advanced users can use validator as a command line tool

* System requiremet: you have [node.js](https://nodejs.org/) environment installed on your computer
* Open your terminal and install validator globally: in any folder run `npm install ddf-validation -g`
* Navigate to the folder where the DDF dataset you want to validate is located
* Run validation: `validate-ddf`, look for the terminal output, which may come in a while depending on the size of dataset
* If issues are found, the validator will create a human-readable text file with the timestamp, which you can read and debug your dataset

#### datapackage
* Generating a new datapackage json: run validator with -i flag: `validate-ddf -i`
* Updating existing datapackage json and preserving your headers: run validator with --content flag: `validate-ddf --content`

There is a ton of possible options you can use to customise the validation, make it faster, etc, see the complete reference [here](doc/user-guide.md)

## Programmers can use validator via the API

See the [API reference](doc/api-reference.md), also [datapackage generation via APi](doc/api-reference.md#datapackagejson-creation)

## Gods can improve the validator

See the [developer's guide](doc/developer-guide.md), also see [testing](doc/developer-guide.md#testing) and [release routines](doc/developer-guide.md#release-routines)



# ddf-validation-ng

## how to build

1. install purescript and spago
- `npm install -g purescript`
- `npm install -g spago`
2. to install dependencies
- `npm install`
- `spago install`
3. run `npm run build` (which will run `spago build`)

## how to create new version
1. build the app and module bundle
- `npm run bundle-app`
- `npm run bundle-module`
2. `npm publish`
Loading

0 comments on commit 47350c8

Please sign in to comment.