https://github.com/datacamp/sheetwhat
Verify Spreadsheets and auto-generate meaningful feedback messages.
https://github.com/datacamp/sheetwhat
fs le
Last synced: about 1 year ago
JSON representation
Verify Spreadsheets and auto-generate meaningful feedback messages.
- Host: GitHub
- URL: https://github.com/datacamp/sheetwhat
- Owner: datacamp
- License: agpl-3.0
- Created: 2018-09-03T07:37:24.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-21T15:00:27.000Z (almost 4 years ago)
- Last Synced: 2025-03-26T19:12:14.348Z (about 1 year ago)
- Topics: fs, le
- Language: Python
- Homepage: https://sheetwhat.readthedocs.io
- Size: 155 KB
- Stars: 4
- Watchers: 18
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
> :warning: **This repo has outdated tokens in its travisci config**
> To make new releases for this project it needs to be moved to circleci
# sheetwhat
[](https://travis-ci.org/datacamp/sheetwhat)
[](https://codecov.io/gh/datacamp/sheetwhat)
[](https://badge.fury.io/py/sheetwhat)
[](https://sheetwhat.readthedocs.io/en/latest/?badge=latest)
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fdatacamp%2Fsheetwhat?ref=badge_shield)
`sheetwhat` enables you to write Submission Correctness Tests (SCTs) for interactive Spreadsheet exercises on DataCamp.
- If you are new to teaching on DataCamp, check out https://instructor-support.datacamp.com.
- If you want to learn what SCTs are and how they work, visit [this article](https://instructor-support.datacamp.com/courses/course-development/submission-correctness-tests) specifically.
- For a complete overview of all functionality inside `sheetwhat` and articles about what to use when, consult https://sheetwhat.readthedocs.io.
## Installing
```
pip install sheetwhat
```
## Demo
Sheetwhat is typically used in a web application, but you can also experiment with its functions on your local machine.
SCT functions that fail will throw a `TestFail` error.
```python
# Setup: make all checking functions available
from sheetwhat.sct_syntax import SCT_CTX
globals().update(SCT_CTX)
# Setup: set up state with student data, solution data and SCT range
from sheetwhat.State import State
from protowhat.Reporter import Reporter
Ex.root_state = State(
{'values': [["a", "a"]], "formulas": [["=B1"]]},
{'values': [["b", "b"]], "formulas": [["=B1"]]},
"A1",
Reporter()
)
# Experiment interactively with SCTs
# Passes, as formulas at A1 match
Ex().has_equal_formula()
# Fails, as values at A1 do not match
Ex().has_equal_value()
```
## Testing
```
pip install -r requirements.txt
pip install -e .
pytest
```
## License
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fdatacamp%2Fsheetwhat?ref=badge_large)