{"id":42610376,"url":"https://github.com/maxisoft/kaggle-notebook-backup","last_synced_at":"2026-01-29T02:33:11.470Z","repository":{"id":250426458,"uuid":"834443403","full_name":"maxisoft/kaggle-notebook-backup","owner":"maxisoft","description":"Automatically backup your Kaggle notebooks","archived":false,"fork":false,"pushed_at":"2024-07-28T20:03:39.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-29T10:57:07.414Z","etag":null,"topics":["automation","backup","data-science","dev-tools","github-actions","jupyter-notebook","kaggle","machine-learning","productivity","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxisoft.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-27T09:32:49.000Z","updated_at":"2024-07-28T17:31:28.000Z","dependencies_parsed_at":"2024-07-27T10:51:12.571Z","dependency_job_id":"9b2a1ea7-c9c3-4c47-b7c2-62ad4e1a0c9f","html_url":"https://github.com/maxisoft/kaggle-notebook-backup","commit_stats":null,"previous_names":["maxisoft/kaggle-notebook-backup"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxisoft/kaggle-notebook-backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxisoft%2Fkaggle-notebook-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxisoft%2Fkaggle-notebook-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxisoft%2Fkaggle-notebook-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxisoft%2Fkaggle-notebook-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxisoft","download_url":"https://codeload.github.com/maxisoft/kaggle-notebook-backup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxisoft%2Fkaggle-notebook-backup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28861109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"online","status_checked_at":"2026-01-29T02:00:06.714Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","backup","data-science","dev-tools","github-actions","jupyter-notebook","kaggle","machine-learning","productivity","python"],"created_at":"2026-01-29T02:33:09.976Z","updated_at":"2026-01-29T02:33:11.465Z","avatar_url":"https://github.com/maxisoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Kaggle Notebook Backup 📚\n\nThis Python script automates downloading your Kaggle notebooks, including private ones (if desired), and creates a compressed archive for easy backup or transfer.\n\n### **Local Installation:**\n\n1. **Prerequisites:**\n    - Python 3.x\n    - `kaggle` and other packages: Install with `pip install -r requirements.txt`\n    - Set up the Kaggle CLI according to the [official documentation](https://www.kaggle.com/docs/api)\n2. **Download the repo:**\n\n    ```bash\n    git clone https://github.com/maxisoft/kaggle-notebook-backup.git\n    ```\n\n3. **Run the script:**\n\n    ```bash\n    python main.py [OPTIONS]\n    ```\n\n#### Options:\n\n* `-o, --output` (default: `./kernels.zip`): Name and location of the output archive.\n* `-p, --include-private` (default: `True`): Include private notebooks in the backup.\n* `-u, --user` (default: `current user`): Kaggle username whose notebooks to download.\n* `-t, --tmp-dir` (default: `temporary directory`): Path to a custom temporary directory.\n\n#### Default Behavior:\n\nThe default execution will create an archive named `kernels.zip` with all your Kaggle kernels in the *current directory*.\n\n### Running via GitHub Actions Workflow 🚀\n\nThis repository also includes a GitHub Actions workflow named `doit.yml` that can be used to automate the script execution on a schedule or upon pushes to the `main` branch.\nTo enable this functionality, you'll need to configure secrets within your repository settings.\n\n**Here's a breakdown of the steps involved:**\n\n1. **Fork this Repository:** Create your own fork of this repository on GitHub.\n2. **Navigate to Actions:** Go to your forked repository's settings and then to the \"Actions\" tab.\n3. **Enable the `doit.yml` Workflow:** Find the `doit.yml` workflow and enable it to run on pushes or schedules.\n4. **Set Up Secrets (Required):**\n\n    - Navigate to your repository's settings and then to \"Secrets.\"\n    - Create secrets:\n        - `KAGGLE_USERNAME`: Your Kaggle username.\n        - `KAGGLE_KEY`: Your Kaggle API key (obtainable from your profile settings).\n        - `ARCHIVE_PASSWORD`: The artifact archive password to use\n5. **Manual Trigger:**  \nYou can manually trigger the workflow by navigating to the “Actions” tab in your repository, selecting the `doit.yml` workflow, and clicking the “Run workflow” button.\n6. **Output as GitHub Artifact:**\n    - The resulting zip file (`kernels.zip`) will be uploaded as a GitHub artifact, making it easy to download and access from the Actions tab.\n\n**Important Note:**\n\n- **Security:** Never store your API key directly in the code. Using GitHub secrets ensures secure handling of sensitive information.\n\n**Benefits of Using GitHub Actions:**\n\n- **Automated Execution:** The script runs automatically based on your chosen schedule, upon code pushes, or manually.\n- **Regular Backups:** Scheduled execution helps maintain updated backups of your notebooks.\n- **Reduced Manual Work:** Frees you from manually running the script, saving time and effort.\n\nBy following these steps and leveraging GitHub Actions, you can automate the process of backing up your Kaggle notebooks, ensuring a more streamlined and safe workflow.\n\n### Contributing:\n\nFeel free to contribute bug fixes, improvements, or feature requests. Fork the repository, create a pull request, and share your changes! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxisoft%2Fkaggle-notebook-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxisoft%2Fkaggle-notebook-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxisoft%2Fkaggle-notebook-backup/lists"}