A Java project linked to aadarchi which aims to detect notable technologies in a variety of languages
. Install jbang . Clone TechEmpower frameworks repository beside this repository
This repository provides for each observed repository one branch containing in a given folder the file aggregating all informations.
Source website | Branch name | Path of artifacts file(s) |
---|---|---|
mvnrepository.com | reports_mvnrepository | mvnrepository/artifacts.json |
npmjs.com | reports_npmjs | npmjs/artifacts.json |
pypi.org | reports_pypi | pypi/artifacts.json |
If you take a look at these branches, in each of them, you'll find one commit per month.
Each scrapper should produce a file with this structure
[
// A list of artifacts
{
// Maven group id (when available)
"groupId": "group.id",
// Maven artifact id (when available)
"artifactId": "artifact.id",
// Artifact visible name
"name": "A project name",
// Artifact description (optionnal, but highly recommended)
"description": "Some text, in an unknown format",
// Artifact licenses (optionnal)
"license": [
"Apache 2.0"
],
// Artifact categories (optionnal)
"categories": [
"Set of categories, not to be confused with tags"
],
// Artifact tags (optionnal)
"tags": [
"annotations",
"metadata"
],
// Artifact ranking in registry (1 is the most important artifact - optionnal)
"ranking": "114",
// Artifact users number (optionnal)
"users": 4307,
// Number of downloads of this artifact
"downloads": "-1",
// Urls for this project (will allow further research, such as GitHub stars)
"urls": {
// Each entry maps a domain (typically github when available) to the very project page
"github.com": "https://github.com/OWNER/PROJECT#README"
}
// Artifact repositories (optionnal)
"repositories": [
"Google",
"SciJava Public"
],
// Artifact versions (optionnal, but highly recommended)
"versions": {
// Each version has a number
"1.8.0-alpha01": {
// usage count for this version
"usages": "3",
// version release date
"date": "Feb 21, 2024",
// users count for this version
"users": 3
},
...
Each process can be run on your machine to validate everything is good
cd mvnrepository
jbang ExtractPopularMvnRepositorytArtifacts.java
It will produce an artifacts.json
file with the artifacts usage count at the time the command is run
Thanks to the Internet Wayback Machine, it is possible to get the whole history for mvn repository by running the command
jbang ExtractPopularMvnRepositorytArtifacts.java --generate-history
This will fetch the whole history for MvnRepository and generate in a branch called history one commit for each month since the first capture available at https://archive.org. This code is kept for tracability reason, to make sure the history fetching process is reproducable, but should not be run.
Each extractor must be written using Java/JBang
(it's easy, fast, and make code easily runnable through GitHub Actions).
Each extractor must provide a --generate-history
flag that will generate an history covering at least the last ten years.
Each extractor must write this history to a branch (ideally the reports
one).
👤 Riduidel & Helielzel
Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.
Give a ⭐️ if this project helped you!
Copyright © 2023 Riduidel & Helielzel.
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator