{"id":39334336,"url":"https://github.com/jaimevalero/push-kaggle-dataset","last_synced_at":"2026-01-18T02:07:16.912Z","repository":{"id":40344333,"uuid":"302873881","full_name":"jaimevalero/push-kaggle-dataset","owner":"jaimevalero","description":"Github action to upload datasets to kaggle","archived":false,"fork":false,"pushed_at":"2025-12-25T09:22:30.000Z","size":163,"stargazers_count":24,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-12-26T22:25:51.673Z","etag":null,"topics":["automation","data-science","github-actions","kaggle","kaggle-datasets"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaimevalero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-10T10:16:17.000Z","updated_at":"2025-12-25T09:28:02.000Z","dependencies_parsed_at":"2023-01-04T21:32:05.132Z","dependency_job_id":"a93d162a-bac4-460f-a08d-3086391c024c","html_url":"https://github.com/jaimevalero/push-kaggle-dataset","commit_stats":{"total_commits":311,"total_committers":2,"mean_commits":155.5,"dds":0.009646302250803873,"last_synced_commit":"532dfa4c6e3cc8b5b78f5496312bffa5e94aebe9"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/jaimevalero/push-kaggle-dataset","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaimevalero%2Fpush-kaggle-dataset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaimevalero%2Fpush-kaggle-dataset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaimevalero%2Fpush-kaggle-dataset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaimevalero%2Fpush-kaggle-dataset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaimevalero","download_url":"https://codeload.github.com/jaimevalero/push-kaggle-dataset/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaimevalero%2Fpush-kaggle-dataset/sbom","scorecard":{"id":502304,"data":{"date":"2025-08-11","repo":{"name":"github.com/jaimevalero/push-kaggle-dataset","commit":"2e580802f257719472fac89cc2fd86e667a72fac"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Code-Review","score":3,"reason":"Found 1/3 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":1,"reason":"2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating python:3.8 to python:3.8@sha256:d411270700143fa2683cc8264d9fa5d3279fd3b6afff62ae81ea2f9d070e390c","Warn: pipCommand not pinned by hash: Dockerfile:5","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'develop'","Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T22:15:15.996Z","repository_id":40344333,"created_at":"2025-08-19T22:15:15.996Z","updated_at":"2025-08-19T22:15:15.996Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28526561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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","data-science","github-actions","kaggle","kaggle-datasets"],"created_at":"2026-01-18T02:07:14.006Z","updated_at":"2026-01-18T02:07:16.904Z","avatar_url":"https://github.com/jaimevalero.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Push Kaggle Dataset action\r\n\r\nThis action push data from a github repository to a dataset at [kaggle.](https://kaggle.com)   \r\n\r\nUse this action to keep synchronized your datasets at kaggle with your github repositories.\r\n\r\nPlease bear in mind that this action do NOT work with kernels nor notebooks, so it is of not use on competitions.\r\n\r\n\r\n## Inputs\r\n\r\n### `id`\r\n\r\nDataset identifier in format {username}/{dataset}). Default is `\"{KAGGLE_USERNAME}/{GITHUB_REPO_NAME}\"`\r\nWhere KAGGLE_USERNAME is a secret - see sections [secret](#Secret)\r\nYou cannot upload data to other kaggle user.\r\n\r\n### `files`\r\n\r\nFiles to upload. Default is `\"*.csv\"`\r\n\r\n### `title`\r\n\r\nTitle of the dataset.\r\n\r\nOnly if it is a new dataset. Otherwise it is not used.\r\nDefault is the dataset id.\r\n\r\n*Eg: if the dataset is mlg-ulb/creditcardfraud, the default title would be 'creditcardfraud'*\r\n\r\n### `subtitle`\r\n\r\nSubtitle of the dataset. We highly recommend entering a subtitle for your Dataset.\r\nOnly if it is a new dataset. Otherwise it is not used.\r\nMust be between 20 and 80 characters. If the subtitle has fewer than 20 characters, trailing white spaces are added.\r\n\r\n### `description`\r\n\r\nDescription of the dataset, only if it has to be created.\r\nOnly if it is a new dataset. Otherwise it is not used.\r\n\r\n### `is_public`\r\n\r\nVisibility of the the new dataset. Boolean (True or False)\r\nDefault is `\"*.False\"`- private datasets are created by default.\r\nOnly if it is a new dataset. Otherwise it is not used.\r\n\r\n## Secrets\r\n\r\nYou have to configure your secrets at: Settings \u003e\u003e Secrets\r\n\r\n- ` ${{ secrets.KAGGLE_USERNAME }}` - **Required** The dataset owner.\r\n- ` ${{ secrets.KAGGLE_KEY }}` - **Required** The API key for your user. You can [create your api key here.](https://www.kaggle.com/account)   \r\n\r\n## Examples usage\r\n\r\nCreate a main.yml file like this in the path your repo, in the path `.github/workflows/main.yml`\r\n\r\nChange the fields in that yaml : id, files, title, subtitle and description.\r\nAdd the secrets.\r\n\r\nPlease consider that if you are NOT creating a new dataset, only updating it, the following fields are not used, so you can skip it :\r\n - title\r\n - subtitle\r\n - description\r\n - is_public\r\n\r\n## Example\r\n\r\n### Example1 : Create a new dataset, uploading a file, \"titanic.csv\"\r\n```yaml\r\n\r\nname: upload\r\n\r\n# Controls when the action will run. Triggers the workflow on push or pull request\r\n# events but only for the master branch\r\non:\r\n  push:\r\n    branches: [ master ]\r\n  pull_request:\r\n    branches: [ master ]\r\n\r\n# A workflow run is made up of one or more jobs that can run sequentially or in parallel\r\njobs:\r\n  # This workflow contains a single job called \"build\"\r\n  upload:\r\n    # The type of runner that the job will run on\r\n    runs-on: ubuntu-latest\r\n\r\n    # Steps represent a sequence of tasks that will be executed as part of the job\r\n    steps:\r\n      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it\r\n      - uses: actions/checkout@v2\r\n      # Runs a single command using the runners shell\r\n      - name: Upload datasets\r\n        uses: jaimevalero/push-kaggle-dataset@v3.2 # This is the action\r\n        env:\r\n          # Do not leak your credentials.\r\n          KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}\r\n          KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}\r\n\r\n        with:\r\n          id:  \"jaimevalero/my-new-dataset\"\r\n          title: \"Testing github actions for upload datasets\"\r\n          subtitle: \"Titanic data2\"\r\n          description: \"## Example of dataset syncronized by github actions \u003cbr/\u003eSource https://github.com/jaimevalero/test-actions and https://github.com/jaimevalero/push-kaggle-dataset \u003cbr/\u003e \"\r\n          files:  titanic.csv\r\n          is_public: true\r\n\r\n```\r\n\r\n### Example2 : Upload more than one file\r\n\r\nYou can use:\r\n - wildcards (eg: *.xlsx )\r\n - directory names (eg: images )\r\n\r\nIf you use directory names, you will upload every file from that directory.\r\nPlease bear in mind that files in subdirectories are packaged in tar file, due to API behaviour.\r\n\r\nIn case you use more than one line, you should use the \"|\" operator.\r\n\r\n```yaml\r\n          files: |\r\n            titanic.csv\r\n            *.xlsx\r\n            images\r\n```\r\n\r\n### Hint: Skip workflow based on commit message\r\n\r\nYou can configure your workflow itself.\r\nEn this example, the workflow only triggers when a string is found in the commit message\r\n\r\n```yaml\r\n  upload:\r\n   if: \"contains(github.event.commits[0].message, 'madrid_results.csv')\"\r\n```\r\n\r\nComplete yaml for these examples could be find at examples directory\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaimevalero%2Fpush-kaggle-dataset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaimevalero%2Fpush-kaggle-dataset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaimevalero%2Fpush-kaggle-dataset/lists"}