https://github.com/btraven00/hapiq

the one who fetches

https://github.com/btraven00/hapiq

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

the one who fetches

Basic Info
  • Host: GitHub
  • Owner: btraven00
  • License: gpl-3.0
  • Language: Go
  • Default Branch: main
  • Size: 328 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 8 months ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Codeowners

README.md

Hapiq

Hapiq is a CLI tool for extracting and inspecting dataset links from scientific papers.

To extract and check links, it verifies and analyzes data sources to estimate the likelihood of a valid dataset.

Hapiq can also be used to directly download datasets into local folders.

"Hapiq" means "the one who fetches" in Quechua.

CI/CD Go Report Card License: GPL v3


Features

  • ✅ Validate URLs and identifiers (e.g. Zenodo, Figshare, Dryad)
  • 🔍 Support for DOI resolution and repository classification
  • 📊 Estimate likelihood of dataset validity
  • 🌐 HTTP status and metadata inspection
  • 📝 JSON or human-readable output formats

Installation

From Source

bash git clone https://github.com/btraven00/hapiq.git cd hapiq make install

Using Go Install

bash go install github.com/btraven00/hapiq@latest

Download Binary

Download pre-built binaries from the releases page.

Usage

Basic Usage

bash hapiq check <url-or-identifier>

Examples

Check a Zenodo record: bash hapiq check https://zenodo.org/record/1234567

Check using DOI: bash hapiq check 10.5281/zenodo.1234567

Check with quiet output (suppress verbose messages): bash hapiq check https://figshare.com/articles/dataset/example/123456 --quiet

Output as JSON: bash hapiq check "10.5061/dryad.example" --output json

Supported Repositories

  • Zenodo - zenodo.org
  • Figshare - figshare.com
  • Dryad - datadryad.org
  • OSF - osf.io
  • GitHub - github.com (releases)
  • Dataverse - Various Dataverse instances
  • DOI Resolution - doi.org

Output Format

Human-readable Output

Target: https://zenodo.org/record/1234567 ✅ Status: Valid (HTTP 200) 📂 Dataset Type: zenodo_record 🔗 Content Type: text/html 📏 Size: 15234 bytes ⏱️ Response Time: 245ms 🧠 Dataset Likelihood: 0.95

JSON Output

json { "target": "https://zenodo.org/record/1234567", "valid": true, "http_status": 200, "content_type": "text/html", "content_length": 15234, "response_time": "245ms", "dataset_type": "zenodo_record", "likelihood_score": 0.95, "metadata": { "server": "nginx/1.18.0", "last-modified": "Wed, 15 Mar 2023 10:30:00 GMT" } }

Development

Prerequisites

  • Go 1.21 or later
  • Make (optional, for convenience)

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

GPL-3-or-later © 2025 btraven

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

References

Owner

  • Name: btraven
  • Login: btraven00
  • Kind: user

GitHub Events

Total
  • Delete event: 2
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 1
Last Year
  • Delete event: 2
  • Issue comment event: 1
  • Push event: 4
  • Pull request event: 1

Dependencies

.github/workflows/ci.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-go v4 composite
  • actions/upload-artifact v4 composite
  • codecov/codecov-action v4 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
  • github/codeql-action/upload-sarif v3 composite
  • securego/gosec master composite
  • softprops/action-gh-release v1 composite
go.mod go
  • code.sajari.com/docconv/v2 v2.0.0-pre.4
  • github.com/JalfResi/justext v0.0.0-20221106200834-be571e3e3052
  • github.com/PuerkitoBio/goquery v1.10.3
  • github.com/advancedlogic/GoOse v0.0.0-20231203033844-ae6b36caf275
  • github.com/andybalholm/cascadia v1.3.3
  • github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de
  • github.com/fatih/set v0.2.1
  • github.com/fsnotify/fsnotify v1.9.0
  • github.com/gigawattio/window v0.0.0-20180317192513-0f5467e35573
  • github.com/go-resty/resty/v2 v2.16.5
  • github.com/go-viper/mapstructure/v2 v2.4.0
  • github.com/inconshreveable/mousetrap v1.1.0
  • github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056
  • github.com/levigross/exp-html v0.0.0-20120902181939-8df60c69a8f5
  • github.com/mattn/go-runewidth v0.0.16
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/otiai10/gosseract/v2 v2.4.1
  • github.com/pelletier/go-toml/v2 v2.2.4
  • github.com/pkg/errors v0.9.1
  • github.com/richardlehane/mscfb v1.0.4
  • github.com/richardlehane/msoleps v1.0.4
  • github.com/rivo/uniseg v0.4.7
  • github.com/sagikazarmark/locafero v0.10.0
  • github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8
  • github.com/spf13/afero v1.14.0
  • github.com/spf13/cast v1.9.2
  • github.com/spf13/cobra v1.9.1
  • github.com/spf13/pflag v1.0.7
  • github.com/spf13/viper v1.20.1
  • github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf
  • github.com/subosito/gotenv v1.6.0
  • golang.org/x/net v0.42.0
  • golang.org/x/sys v0.34.0
  • golang.org/x/text v0.27.0
  • google.golang.org/protobuf v1.36.6
  • gopkg.in/yaml.v3 v3.0.1
go.sum go
  • 143 dependencies