Skip to main content

A clean, interactive Google Sheet explorer for Colab (Jadwal)

Project description

ipyjadwal 📊

PyPI version License: MIT Python Code style: black

ipyjadwal (derived from the Arabic Jadwal جَدْوَل meaning "Table" or "Schedule") is a clean, interactive Jupyter widget for browsing Google Sheets directly inside Google Colab or Jupyter Notebooks.

It simplifies the workflow of selecting spreadsheets, switching sheets, and previewing DataFrames without writing repetitive boilerplate code.

🚀 Quick Start

Installation

pip install ipyjadwal

Basic Usage

ipyjadwal handles the UI, but you must provide the authentication (standard for security reasons).

from google.colab import auth
from google.auth import default
import gspread
import ipyjadwal

# 1. Authenticate with Google
auth.authenticate_user()
creds, _ = default()
gc = gspread.authorize(creds)

# 2. Launch the Jadwal widget
widget = ipyjadwal.Jadwal(gc)
widget.show()

For Jupyter Notebooks (local), you'll need to set up your Google credentials file:

import gspread
from oauth2client.service_account import ServiceAccountCredentials
import ipyjadwal

scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
gc = gspread.authorize(creds)

widget = ipyjadwal.Jadwal(gc)
widget.show()

✨ Features

  • 🔍 Dropdown Interface
    Browse your Google Drive spreadsheets using a searchable dropdown menu.

  • 📑 Instant Sheet Switching
    Automatically loads available worksheets when a file is selected.

  • 🐼 Pandas Preview
    Instantly preview the head of the selected sheet as a Pandas DataFrame.

  • 🔄 Refresh Capability
    Reload your file list or sheet data with a single click.

  • 🎯 Zero Boilerplate
    No need to write repetitive code for browsing and switching between sheets.

🔧 Documentation

API Reference

Jadwal(gc)

Main widget class for browsing Google Sheets.

Parameters:

  • gc (gspread.Client): An authorized gspread client instance

Methods:

  • show(): Display the interactive widget

Example:

widget = ipyjadwal.Jadwal(gc)
widget.show()

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Support

If you encounter any issues or have questions, please:

  • Open an issue on GitHub Issues
  • Check existing issues and discussions

🙏 Acknowledgments

🔗 Links

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

ipyjadwal-0.1.2.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

ipyjadwal-0.1.2-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file ipyjadwal-0.1.2.tar.gz.

File metadata

  • Download URL: ipyjadwal-0.1.2.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ipyjadwal-0.1.2.tar.gz
Algorithm Hash digest
SHA256 562f3ff95b89b6a78d2a51ef0e820a44cc3f19e940b82fef27020ed415fa442b
MD5 dcf55d549a5ec8a6eee0e1da2f277648
BLAKE2b-256 e6a0120aad7118f2e4457167e8201a07a6dd15a5af26dec060efc2b021db2322

See more details on using hashes here.

Provenance

The following attestation bundles were made for ipyjadwal-0.1.2.tar.gz:

Publisher: publish.yml on marzzuki/ipyjadwal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ipyjadwal-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ipyjadwal-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ipyjadwal-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6eadc9c54bb76eedfc8583959ec4c562603718f1c6665f663ec7a3a45843f749
MD5 64a222d5ec100a8c849b3a3b2d5b3492
BLAKE2b-256 738c6404e412d0419f8a71cb71b6eef346e4dd5dfc6297fc35d6e89d2b5823b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ipyjadwal-0.1.2-py3-none-any.whl:

Publisher: publish.yml on marzzuki/ipyjadwal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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