Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/riduidel/aadarchi-technology-detector

A helper script for aadarchi allowing us to fetch interesting technologies
https://github.com/riduidel/aadarchi-technology-detector

github-actions hacktoberfest java mvnrepository playwright

Last synced: 3 months ago
JSON representation

A helper script for aadarchi allowing us to fetch interesting technologies

Awesome Lists containing this project

README

        

Welcome to aadarchi-technology-detector 👋



Version

Documentation


Maintenance


License: MIT

> A Java project linked to aadarchi which aims to detect notable technologies in a variety of languages

### 🏠 [Homepage](https://github.com/Riduidel/aadarchi-technology-detector)

## Prerequisites

. Install [jbang](https://www.jbang.dev/)
. Clone [TechEmpower frameworks](https://github.com/TechEmpower/FrameworkBenchmarks/) repository beside this repository

## Usage

### Fetching data from reports branches

This repository provides for each observed repository one branch containing in a given folder the file
aggregating all informations.

#### Available sources

| 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.

### Produced file format

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
},
...
```

### Command line

Each process can be run on your machine to validate everything is good

#### MvnRepository

```
cd mvnrepository
jbang ExtractPopularMvnRepositorytArtifacts.java
```

It will produce an `artifacts.json` file with the artifacts usage count at the time the command is run

##### Extract MvnRepository
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.

## Architecture

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).

## Author

👤 **Riduidel & Helielzel**

* Github: [@Riduidel](https://github.com/riduidel)
* Github: [@Helielzel](https://github.com/helielzel)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/kefranabg/readme-md-generator/issues). You can also take a look at the [contributing guide](https://github.com/kefranabg/readme-md-generator/blob/master/CONTRIBUTING.md).

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

Copyright © 2023 [Riduidel & Helielzel](https://github.com/Helielzel).

This project is [MIT](https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_