Skip to main content

A Python library for processing conversation data, creating Jupyter Notebooks, handling Google Drive uploads, and updating Google Sheets.

Project description

mdtidy

mdtidy is a Python library designed to process conversational AI outputs (specifically GPT and Gemini) into Jupyter Notebooks (.ipynb), while also counting code errors within the content. It's an intuitive tool for transforming raw markdown, code blocks, and conversation data into well-structured Jupyter notebooks, specifically tailored for reviewing AI-generated conversation data and integrating with Google Drive and Google Sheets for enhanced data management.

Features

  • Markdown to Jupyter Notebook: Convert markdown content with embedded Python code blocks into a Jupyter Notebook file.
  • Error Counting: Identify and count common Python error types within the content.
  • Conversation Analysis: Supports parsing and formatting conversation data from both GPT and Gemini models.
  • Google Drive Integration: Upload processed notebooks to Google Drive.
  • Google Sheets Integration: Update Google Sheets with processed conversation data and error counts.

Installation

Install mdtidy using pip:

pip install mdtidy

Usage

Setting Up Chrome Profiles for Gemini and GPT

To use mdtidy effectively, you need to set up Chrome profiles for both Gemini and GPT. This allows Selenium to use your Chrome profile for scraping data.

Manually Create a New Chrome Profile

  1. Create a New Profile Folder:

    • Navigate to the Chrome User Data directory:
      • Windows: C:\Users\<Your Username>\AppData\Local\Google\Chrome\User Data
      • macOS: ~/Library/Application Support/Google/Chrome
      • Linux: ~/.config/google-chrome
  2. Create a New Folder for the Profile:

    • Inside the User Data directory, create a new folder, for example, Profile 2 Gemini and Profile 2 GPT.
  3. Start Chrome with the New Profile:

    • Open a terminal or command prompt and start Chrome with the new profile:

      • Windows:

        "C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\Users\<Your Username>\AppData\Local\Google\Chrome\User Data\Profile 2 Gemini"
        
        "C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\Users\<Your Username>\AppData\Local\Google\Chrome\User Data\Profile 2 GPT"
        
      • macOS:

        /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="~/Library/Application Support/Google/Chrome/Profile 2 Gemini"
        
        /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="~/Library/Application Support/Google/Chrome/Profile 2 GPT"
        
      • Linux:

        google-chrome --user-data-dir="~/.config/google-chrome/Profile 2 Gemini"
        
        google-chrome --user-data-dir="~/.config/google-chrome/Profile 2 GPT"
        
  4. Set Up the New Profile:

    • When Chrome opens, set up the new profile by signing in and configuring it as needed.

After setting up your Chrome profiles and updating the configuration, you can proceed with running the scripts.

Combined Processor

This example shows how to process both GPT and Gemini conversation data into a structured Jupyter notebook all at once.

from mdtidy.combined_processor import process_conversation

# Trigger the processing of a conversation for both models combined, prompting for required details
process_conversation()

Convert GPT Conversations to Notebook

This example shows how to process GPT conversation data into a structured Jupyter notebook.

from mdtidy.gpt_processor import process_gpt_conversation

# Trigger the processing of a GPT conversation, prompting for required details
process_gpt_conversation()

Convert Gemini Conversations to Notebook

This example details processing Gemini model conversations into a notebook format, integrating error analysis.

from mdtidy.gemini_processor import process_gemini_conversation

# Trigger the processing of a Gemini conversation, prompting for required details
process_gemini_conversation()

Count Code Errors

This function identifies and counts typical Python errors within given content.

from mdtidy.gemini_processor import count_code_errors

# Example content with typical Python errors
input_strings_with_errors = [
    """
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'variable' is not defined

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
"""
]

# Count and display code errors
error_counts = count_code_errors(input_strings_with_errors)
print(error_counts)

Update Google Sheets

This feature is currently under development and will be available in a future release.

Once implemented, it will allow you to update Google Sheets with processed conversation data and error counts.

from mdtidy.update_google_sheets import update_google_sheet

# Update the Google Sheet
update_google_sheet()

The update_google_sheet function will automatically use the default directory comp_ana_json for JSON files and the stored Google Sheets credentials and spreadsheet name from the configuration file (google_sheets.ini).

License

This project is licensed under the MIT License.

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

mdtidy-0.4.6.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

mdtidy-0.4.6-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file mdtidy-0.4.6.tar.gz.

File metadata

  • Download URL: mdtidy-0.4.6.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.9

File hashes

Hashes for mdtidy-0.4.6.tar.gz
Algorithm Hash digest
SHA256 525f5671f4d24a77983e4f364f084a03470a5c13b67cee698cfe84a5ecce8b93
MD5 f081fa318e4fe6b3645bee3f9bf7bf2b
BLAKE2b-256 8301ee831f2d10352bcc4d7459e2ef43cff15a5a242f4a086c89d7d0f993603f

See more details on using hashes here.

File details

Details for the file mdtidy-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: mdtidy-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.9

File hashes

Hashes for mdtidy-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a7f83cec33a5ad666c6ff916669218625c4e3bd514f6e3800e04b4635ca3cf5d
MD5 b81fc45df3267cad42fa95bb755fbf52
BLAKE2b-256 b1b8d383bf0b4dfabedd44916892192653a8334d459f0d171a6dfaa07e73d42e

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