Install
pip install skittle-sheets
To access private Google Sheets, generate a service account and JSON key file following https://cloud.google.com/iam/docs/creating-managing-service-account-keys
Place the JSON key file in the working directory, a parent directory, your home directory, or ~/config/skittle. Make sure the filename matches *service*.json (e.g,. move it to ~/config/.skittle_service.json).
Format and examples
There are three meaningful blocks that are automatically extracted from the layout based on location. Any other content is ignored, so it's OK to put notes wherever you like.
- Key value pairs, like
experiment: <experiment_name>. These must be at the top left of the sheet. - Variable definitions. Each must be an Oklahoma-shaped region in the first three columns (variable name, value, and code).
- Grids mapping variables onto plates. The grid can be anywhere, but the spacing between variable name and row/column labels is important. Fill out the plate with codes (empty cells are OK). Plates labels can be listed after a semicolon (a grid with no plate label applies to all plates).
Here are (some examples)[https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=968744084]:
# example A
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=968744084
# example B (shown above)
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=767021684
# example C
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=1432994532
Usage
Public Google Sheets
skittle export <URL>
Private Google Sheets
Share your Google Sheets document with the service account generated above (read-only is fine). Then run:
skittle export "<spreadsheet>/<worksheet>"
If the Drive and Sheets APIs are not already enabled, there will be an error message with a link prompting you to enable them.
Local .csv file
skittle export layout.csv
Metadata
Release files for skittle-sheets 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| skittle-sheets-0.0.5.tar.gz | 8.3 kB | Without provenance | Details for skittle-sheets-0.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| skittle_sheets-0.0.5-py3-none-any.whl | Python 3 | none | any | Details for skittle_sheets-0.0.5-py3-none-any.whl |
Total release size: 17.0 kB
Release files / skittle-sheets-0.0.5.tar.gz
| Download URL | skittle-sheets-0.0.5.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7cd1babed5b1a4d60fb392835ad1fab776e3f2dd1b3d423b6abdd7d167b6091a
|
|
BLAKE2b-256 checksum How to use checksums |
fd6262cd411df8f9417671b3c533e6852a7d5c6469c27286bece285389cacd74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / skittle_sheets-0.0.5-py3-none-any.whl
| Download URL | skittle_sheets-0.0.5-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e68022af68ddb39d2d9502d7d6db4f966503c90014884e930b51ee0a7d0b041
|
|
BLAKE2b-256 checksum How to use checksums |
4401e5f6aa0cf5c27df4ff8ba11dd16eb0b96c6091d72e6c8ee4463c4bfd7ee5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Security for skittle-sheets 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.