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
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
Metadata Files
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.
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
- Repositories: 1
- Profile: https://github.com/btraven00
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
- 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
- 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
- 143 dependencies