Skip to content
 
 

Latest commit

 

History

1,076 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TidyBlocks Revisited

Contributions of all kinds are welcome. By offering a contribution, you agree to abide by our Code of Conduct and that your work may be made available under the terms of our license.

  1. To report a bug or request a new feature, please check the list of open issues to see if it's already there, and if not, file as complete a description as you can.

  2. If you have made a fix or improvement, please create a pull request. We will review these as quickly as we can (typically within 2-3 days).

Actions

  • npm run build: regenerate dist/tidyblocks.js, then open index.html to see it.

  • npm run watch: regenerate and reload dist/tidyblocks.js whenever files change.

  • npm run coverage: run tests and report code coverage (open coverage/index.html to see results).

  • npm run data: create loadable JSON file for each CSV file in ./data. (These files must be loaded in ./libs/gui.js to be accessible.)

  • npm run docs: regenerate code documentation (open docs/index.html to view).

  • npm run lint: run code style check.

  • npm run test: run tests without code coverage (which is faster).

Organization

TidyBlocks uses Blockly for the workspace, React for the user interface, and Jekyll + GitHub Pages for the website as a whole.

Source

  • libs/util.js: low-level utilities.

  • libs/dataframe.js: operations on data tables.

  • libs/expr.js, libs/value.js, and libs.op.js: things that can go in table rows. These may be nested (i.e., add(multiply(2, column('red')), column('blue'))

  • libs/summarize.js: summarization operations (such as sum and max).

  • libs/transform.js: operations on entire tables. These use expressions, summarizers, and statistical tests.

  • libs/pipeline.js: pipelines made up of stages.

  • libs/program.js: programs made up of pipelines.

  • libs/persist.js: convert serialized JSON to programs, pipelines, stages, and expressions.

  • libs/env.js: the runtime environment for a program that stores datasets, records error messages, and so on.

  • libs/gui.js : handle interactions with the user.

  • blocks/*.js: implementation of blocks.

    • blocks/blocks.js: block initialization and code generation entry point.
    • blocks/helper.js: utilities.

Other Files

  • index.html: interface page.

  • index.js: gathers blocks for bundling to create tidyblocks.min.js for testing.

  • test/test_*.js: unit tests.

  • static/css/*.css and static/sass/*: CSS for the user interface.

  • _config.yml: Jekyll configuration file.

  • _data/*, _includes/*, and _layouts/*: Jekyll site generation files.

  • coverage/*: code coverage data generated by npm run coverage.

  • data/*: built-in datasets.

  • docs/*: JSDoc code documentation generated by npm run docs.

  • workspaces/*: small programs to load for interactive testing.

  • guide/*: source for user guide (written with Jekyll).

About

A blocks-based interface for tidy data manipulation and analysis.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages