Skip to content

A handy package to load Google Sheets to your database right from the CLI and with easy configuration via YAML files.

License

Notifications You must be signed in to change notification settings

bastienboutonnet/sheetwork

Repository files navigation

PyPI version

python Code style: black Checked with mypy Imports: isort

codecov pre-commit.ci status Sheetwork Build Maintainability

Discord Downloads

sheetwork 💩🤦

What is sheetwork?

sheetwork is a handy open-source CLI-tool that allows non-coders to ingest Google Spreadsheets directly into their databases with control over data types, renaming, basic data sanitisation etc.

It offers a "close to no code" workflow that can still live alongside your codebase as all configuration lives in text files and is easily version-controllable. This makes it an ideal tool for teams.

⚠️ warning sheetwork is still in its early inception (don't get fooled by the 1 in the version). Please do some testing before you end up using it in production, and feel free to report bugs.

compatibility:

  • Python: 3.6, 3.7, 3.8 OS: Mac OSX >10.14, Linux
  • So far all our unit tests work on Windows (tested in GitHub Actions) but no comprehensive testing has been done on this platform.
  • sheetwork currently only offers support for cloud database Snowflake. However, its design follows an adapter pattern (currently in the making) and can be extended to interact with most databases. Feel free to check how you can contribute to the project or reach out on Discord..

Why use sheetwork?

Getting google sheets into any database often requires writing custom Python code that interacts with the Google API. That's fine if you can write Python, but it may not always be an option. On top of that, if your workflow requires you to ingest a bunch of sheets you may find yourself writing the same boiler plate code over and over.

Sheetwork offers a way to bring some DRY practices, standardisation, and simplification to basic google sheet ingestion. It won't do a lot of transformations and doesn't have room for baking in much transformational logic because we believe this is best done by fully-fledged ETL open-source tools such as dbt.

🙋🏻‍♂️ Want to use sheetwork on other databases? Let's talk! (Make an issue, or ping me on Discord)

Installation & Documentation

Head over to the pretty documentation.

About

A handy package to load Google Sheets to your database right from the CLI and with easy configuration via YAML files.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages