Skip to main content

A simple package to make your life easier.

Project description

Spellbook

Helping data scientists and engineers save time by making it simple to connect to databases, work with spreadsheets, manage files, and run analyses. With Spellbook, they can focus on finding insights and solving problems instead of dealing with complicated tools.

With Spellbook, you can:

  • Seamlessly connect to Snowflake and MySQL databases, for secure querying and effortless data retrieval.
  • Work with Google Sheets, making it easy to read, write, and update spreadsheets.
  • Manage Google Drive, creating folders and saving files with ease.
  • Perform statistical analyses, helping you run A/B tests and extract actionable insights.

Spellbook is built to simplify your workflows and supercharge your data exploration, so you can focus on turning insights into action!

Table of Contents

Features

  • Effortless Database Connections and query execution
  • Read/ Write to Google worksheets
  • Manage Google Drive
  • Perform statistical analyses

For feature methods and examples, please refer to the Wiki Page.

Installation

Spellbook requires Python 3.11 or higher. Use the following steps to install:

Note: At the time relase, Snowpark does not support versions of Python higher than 3.11

  1. Pip install:
pip install git+https://git.fullscript.io/data/spellbook.git

Configuration

Effortlessly and securely manage your connections and configurations! Simply add database types and connection credentials to your spellbook_config.yaml file, or include your Google service account details for seamless access to Google services. For added security, Spellbook supports storing credentials in environment variables or in a configuration file that references those variables, keeping your sensitive information safe and sound.

You must have a spellbook_config.yaml file in your root directory or in your project directory. An example of the spellbook_config.yaml file is shown below:

databases:
  # Snowflake Database Connection
  - name: alias_of_your_connection
    type: snowflake
    account: your_account
    user: snowflake_user_name # Optional for private key auth
    password: snowflake_password # Optional, used if private key is not present
    private_key: snowflake_pk # Base64-encoded private key
    private_key_passphrase: snowflake_pk_phrase # Optional
    role: snowflake_role
    warehouse: snowflake_warehouse
    database: snowflake_database
    schema: snowflake_schema

google_accounts:
  # Google Sheets Service Account 1
  - name: google_sheets_service_account_1
    service_account: "your_base64_encoded_service_account_credentials_here"  # Add your Base64-encoded service account JSON here

Documentation

For detailed documentation on how to use Spellbook, please refer to the Documentation folder in the repository.
Functionality:

Contributing

We welcome contributions! Please follow these steps:

  1. Fork this repository.
  2. Create a new branch: git checkout -b feature-name.
  3. Commit your changes: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature-name.
  5. Open a pull request.

License

Spellbook is licensed under the MIT License. See the LICENSE file for more details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fullscript_spellbook-2.1.6.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fullscript_spellbook-2.1.6-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file fullscript_spellbook-2.1.6.tar.gz.

File metadata

  • Download URL: fullscript_spellbook-2.1.6.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for fullscript_spellbook-2.1.6.tar.gz
Algorithm Hash digest
SHA256 b66657b5493c8030b88a11f49e2a75dd27b02d7db53067dd7d9f82369881b8dc
MD5 215be3894d5098a0e30345bc0f8cd17f
BLAKE2b-256 b4f57932047106733e61918b7adac0b1c69bc21b42c840a82073fa273388bd6d

See more details on using hashes here.

File details

Details for the file fullscript_spellbook-2.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for fullscript_spellbook-2.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bdb4fbc5189dfde64d3b5c169ea24b27355b486521d00f41c041c98c4e9f9ec5
MD5 b94aeb0be8d0b031decf2c5340a82534
BLAKE2b-256 d9121bf31bf8407d1521f9271dc0f55e3d58166538a115b64f83e83b640fcb99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page