mch-extract


Namemch-extract JSON
Version 0.3.1 PyPI version JSON
download
home_pageNone
SummaryA Python package for extracting meteorological data from MeteoSwiss OpenData API
upload_time2025-07-21 20:08:22
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords data meteorology meteoswiss ogd switzerland weather
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCH-Extract: MeteoSwiss OpenData Extraction Tool

> **⚠️ DISCLAIMER**: This tool is **NOT official** and is **NOT affiliated** with MeteoSwiss. It is an independent project that provides convenient access to publicly available MeteoSwiss measurement data through the Open Government Data initiative.

A simple Python tool for downloading weather data from Switzerland's automatic ground-based weather stations. Designed for scientists and researchers who need easy access to publicly available [MeteoSwiss data](https://opendatadocs.meteoswiss.ch/) without dealing with the complexities of the FSDI REST API.

## What Does This Tool Do?

- **Download weather data** from Swiss weather stations with simple commands
- **Get data in different time intervals**: daily, hourly, monthly, or 10-minute measurements
- **Save data** in Excel-friendly CSV or efficient Parquet formats
- **Access data programmatically** in Python for analysis using [Polars](https://docs.pola.rs/) or Pandas
- **Handle data validation** automatically - just specify what you want

## Installation (pip)

Install using pip (requires Python 3.10 or newer). Note that using a [virtual environment](https://docs.python.org/3/library/venv.html) is recommended to avoid conflicts with other packages.

```bash
pip install mch-extract
```

Verify the tool is installed and working:

```bash
mch-extract --help
```

## Quick Run (using `uv`)

Run in a separate environment using [uv](https://github.com/astral-sh/uv):

```bash
uvx mch-extract -h
```

## Quick Examples

### Command Line (Terminal)

Get daily temperature and precipitation data for two stations:

```bash
mch-extract --from 2024-06-01 --to 2024-06-07 --stations PAY VIT --variables temperature precipitation --daily --output my_weather_data.csv
```

**📖 For more command-line examples and detailed usage, see [COMMANDS.md](https://github.com/martintops/mch-extract/blob/main/COMMANDS.md)**

### In Python Scripts

```python
from datetime import date
from mchextract import get_data

# Download weather data as a Polars DataFrame
data = get_data(
    stations=['PAY', 'VIT'],  # Payerne and Villars-Tiercelin stations
    variables=['temperature', 'precipitation'],
    start_date=date(2024, 6, 1),
    end_date=date(2024, 6, 7),
    timescale='daily'
)

# If you prefer working with Pandas, you can convert the Polars DataFrame:
# data = data.to_pandas()
# (requires `pandas` and `pyarrow` packages to be installed separately)

print(f"Downloaded {len(data)} rows of data")
print(data.head())

# Save to file
data.write_csv("my_data.csv")
```

## How to Use

### Command Line Quick Reference

**Required:**

- `--from DATE`: Start date (YYYY-MM-DD format, e.g., 2024-06-01)
- `--stations CODES`: Weather station codes (e.g., PAY VIT ROM)
- **Time resolution**: Choose one of `--monthly`, `--daily`, `--hourly`, or `--10min`

**Optional:**

- `--to DATE`: End date (defaults to most recent valid date)
- `--variables VARS`: What to measure (e.g., temperature precipitation). If not set, will return all available parameters for the stations
- `--dwh PARAMS`: Additional MeteoSwiss DWH parameter short names to include. See below on how to find them.
- `--output FILE`: Where to save data. Supported formats are: `.csv`, `.json`, `.parquet`. If not set, will print CSV data to STDOUT
- `--verbose`: Show detailed progress information
- `--no-cache`: Disable caching (useful for testing or debugging)

**📖 For complete command-line reference and examples, see [COMMANDS.md](https://github.com/martintops/mch-extract/blob/main/COMMANDS.md)**

### Available Weather Variables

As a convenience, some "easy to use" variables are provided. These will be automatically converted to DWH parameters for you.

- `temperature`: Air temperature
- `precipitation`: Rainfall and snow
- `pressure`: Atmospheric pressure
- `humidity`: Relative humidity
- `sunshine`: Sunshine duration
- `evaporation`: Evaporation measurements

### Time Intervals

- `--monthly`: Monthly averages
- `--daily`: One measurement per day
- `--hourly`: One measurement per hour
- `--10min`: Real-time measurements every 10 minutes

### Station Codes

Weather stations use 3-letter codes:

- `PAY`: Payerne
- `VIT`: Villars-Tiercelin
- `KLO`: Zurich/Kloten
- `GVE`: Geneva
- And many more...

If you use an invalid code, the tool will show you all available stations.

### References

[STAC browser](https://data.geo.admin.ch/browser/index.html#/collections/ch.meteoschweiz.ogd-smn?.language=en)

For the list of available stations and parameters, consult the following CSV files:

- List of regular stations (SMN): [ogd-smn_meta_stations.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_stations.csv)
- List of precipitation stations (SMN Precip): [ogd-smn-precip_meta_stations.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_stations.csv)

- List of regular parameters (SMN): [ogd-smn_meta_parameters.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_parameters.csv)
- List of precipitation parameters (SMN Precip): [ogd-smn-precip_meta_parameters.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_parameters.csv)

- Inventory of regular stations (SMN): [ogd-smn_meta_datainventory.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_datainventory.csv)
- Inventory of precipitation stations (SMN Precip): [ogd-smn-precip_meta_datainventory.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_datainventory.csv)

## Python API Examples

```python
from datetime import date
from mchextract import get_data

# Get recent weather for analysis
data = get_data(
    stations=['PAY', 'VIT'],
    variables=['temperature', 'precipitation'],
    start_date=date(2024, 6, 1),
    end_date=date(2024, 6, 7),
    timescale='daily'
)

# Basic data exploration
print(f"Data shape: {data.shape}")
print(f"Average temperature: {data['temperature'].mean():.1f}°C")
print(f"Total precipitation: {data['precipitation'].sum():.1f}mm")

# Save for Excel
data.write_csv("weather_analysis.csv")
```

## About the Data

### Swiss Weather Network

This tool accesses data from Switzerland's official weather monitoring network:

- **~160 complete weather stations**: Measure temperature, precipitation, wind, sunshine, humidity, radiation, and pressure
- **~100 precipitation stations**: Focus on rainfall and snow measurements

### Data Types Available

- **10-minute data**: Real-time measurements (updated every 20 minutes)
- **Hourly data**: Hourly summaries
- **Daily data**: Daily summaries (most common for research)
- **Monthly data**: Monthly climate summaries

### Data Coverage

- **Historical**: From when each station started until end of last year
- **Recent**: From January 1st of current year until yesterday
- **Real-time**: Current data (only for hourly and 10-minute intervals)

### Data Quality

- All data comes pre-processed from MeteoSwiss
- Quality control and validation already applied
- Follows international meteorological standards
- Some stations have data going back to 1981 or earlier

## Troubleshooting

### Common Problems

#### `mch-extract`: command not found

- Make sure you have installed the package correctly using `pip install mch-extract`.
- Check your PATH environment variable to ensure the `mch-extract` command is accessible.
- If using a virtual environment, make sure it is activated before running the command.

#### Invalid station code

- Check your 3-letter station codes (e.g., PAY, KLO, GVE)
- The tool will show available stations if you use an invalid code

#### No data available for date range

- Make sure your dates are in YYYY-MM-DD format
- Check that the date range is reasonable (not too far in the future)
- Some stations may not have all variables available

#### "Network error" or "Download failed"

- Check your internet connection
- MeteoSwiss servers might be temporarily unavailable

#### Need more help?

- Use `--verbose` to see detailed information about what's happening
- Check that your dates and station codes are correct

### Getting Detailed Output

Add `--verbose` to any command to see what the tool is doing:

```bash
mch-extract --from 2024-01-01 --stations PAY --variables temperature --daily --output debug.csv --verbose
```

## Important Notes

### Attribution

If using this data in publications or research, please consult MeteoSwiss guidelines on how to cite them. Data is provided under [Creative Commons License CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). See [Terms of use](https://opendatadocs.meteoswiss.ch/general/terms-of-use).

### Disclaimer

- This tool is **NOT official** and **NOT affiliated** with MeteoSwiss
- It provides convenient access to publicly available MeteoSwiss OpenData
- For climate analyses, consider MeteoSwiss' [official climate data products](https://opendatadocs.meteoswiss.ch/c-climate-data)

### Data Usage

- All data comes from MeteoSwiss OpenData and can be used freely
- Please respect MeteoSwiss servers - don't make excessive requests
- For large-scale or commercial usage, consider contacting MeteoSwiss directly
- This tool is not meant to be integrated into any automated solutions

## Development and Contributing

This project is open source. For developers interested in:

- Setting up a development environment
- Running tests
- Contributing code
- Building from source

Please see [DEVELOPMENT.md](https://github.com/martintops/mch-extract/blob/main/DEVELOPMENT.md) for detailed technical documentation.

## Learn More

- [MeteoSwiss OpenData Documentation](https://opendatadocs.meteoswiss.ch/)
- [Weather Station Network Information](https://opendatadocs.meteoswiss.ch/a-data-groundbased/a1-automatic-weather-stations)
- [Interactive Station Map](https://www.meteoswiss.admin.ch/services-and-publications/applications/measurement-values-and-measuring-networks.html#param=messnetz-automatisch&lang=en)
- [MeteoSwiss Open Data Explorer](https://www.meteoswiss.admin.ch/services-and-publications/applications/ext/download-data-without-coding-skills.html)

### Keywords

MeteoSwiss, MeteoSchweiz, MétéoSuisse, data extraction, OpenData, wrapper, Python API, Python package

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mch-extract",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "data, meteorology, meteoswiss, ogd, switzerland, weather",
    "author": null,
    "author_email": "Martin Spoto <martin.spoto98@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a3/a4/cffd7d49d368125623654c45c79434ab83e6a7c3d3efe1e1bb537e34e02c/mch_extract-0.3.1.tar.gz",
    "platform": null,
    "description": "# MCH-Extract: MeteoSwiss OpenData Extraction Tool\n\n> **\u26a0\ufe0f DISCLAIMER**: This tool is **NOT official** and is **NOT affiliated** with MeteoSwiss. It is an independent project that provides convenient access to publicly available MeteoSwiss measurement data through the Open Government Data initiative.\n\nA simple Python tool for downloading weather data from Switzerland's automatic ground-based weather stations. Designed for scientists and researchers who need easy access to publicly available [MeteoSwiss data](https://opendatadocs.meteoswiss.ch/) without dealing with the complexities of the FSDI REST API.\n\n## What Does This Tool Do?\n\n- **Download weather data** from Swiss weather stations with simple commands\n- **Get data in different time intervals**: daily, hourly, monthly, or 10-minute measurements\n- **Save data** in Excel-friendly CSV or efficient Parquet formats\n- **Access data programmatically** in Python for analysis using [Polars](https://docs.pola.rs/) or Pandas\n- **Handle data validation** automatically - just specify what you want\n\n## Installation (pip)\n\nInstall using pip (requires Python 3.10 or newer). Note that using a [virtual environment](https://docs.python.org/3/library/venv.html) is recommended to avoid conflicts with other packages.\n\n```bash\npip install mch-extract\n```\n\nVerify the tool is installed and working:\n\n```bash\nmch-extract --help\n```\n\n## Quick Run (using `uv`)\n\nRun in a separate environment using [uv](https://github.com/astral-sh/uv):\n\n```bash\nuvx mch-extract -h\n```\n\n## Quick Examples\n\n### Command Line (Terminal)\n\nGet daily temperature and precipitation data for two stations:\n\n```bash\nmch-extract --from 2024-06-01 --to 2024-06-07 --stations PAY VIT --variables temperature precipitation --daily --output my_weather_data.csv\n```\n\n**\ud83d\udcd6 For more command-line examples and detailed usage, see [COMMANDS.md](https://github.com/martintops/mch-extract/blob/main/COMMANDS.md)**\n\n### In Python Scripts\n\n```python\nfrom datetime import date\nfrom mchextract import get_data\n\n# Download weather data as a Polars DataFrame\ndata = get_data(\n    stations=['PAY', 'VIT'],  # Payerne and Villars-Tiercelin stations\n    variables=['temperature', 'precipitation'],\n    start_date=date(2024, 6, 1),\n    end_date=date(2024, 6, 7),\n    timescale='daily'\n)\n\n# If you prefer working with Pandas, you can convert the Polars DataFrame:\n# data = data.to_pandas()\n# (requires `pandas` and `pyarrow` packages to be installed separately)\n\nprint(f\"Downloaded {len(data)} rows of data\")\nprint(data.head())\n\n# Save to file\ndata.write_csv(\"my_data.csv\")\n```\n\n## How to Use\n\n### Command Line Quick Reference\n\n**Required:**\n\n- `--from DATE`: Start date (YYYY-MM-DD format, e.g., 2024-06-01)\n- `--stations CODES`: Weather station codes (e.g., PAY VIT ROM)\n- **Time resolution**: Choose one of `--monthly`, `--daily`, `--hourly`, or `--10min`\n\n**Optional:**\n\n- `--to DATE`: End date (defaults to most recent valid date)\n- `--variables VARS`: What to measure (e.g., temperature precipitation). If not set, will return all available parameters for the stations\n- `--dwh PARAMS`: Additional MeteoSwiss DWH parameter short names to include. See below on how to find them.\n- `--output FILE`: Where to save data. Supported formats are: `.csv`, `.json`, `.parquet`. If not set, will print CSV data to STDOUT\n- `--verbose`: Show detailed progress information\n- `--no-cache`: Disable caching (useful for testing or debugging)\n\n**\ud83d\udcd6 For complete command-line reference and examples, see [COMMANDS.md](https://github.com/martintops/mch-extract/blob/main/COMMANDS.md)**\n\n### Available Weather Variables\n\nAs a convenience, some \"easy to use\" variables are provided. These will be automatically converted to DWH parameters for you.\n\n- `temperature`: Air temperature\n- `precipitation`: Rainfall and snow\n- `pressure`: Atmospheric pressure\n- `humidity`: Relative humidity\n- `sunshine`: Sunshine duration\n- `evaporation`: Evaporation measurements\n\n### Time Intervals\n\n- `--monthly`: Monthly averages\n- `--daily`: One measurement per day\n- `--hourly`: One measurement per hour\n- `--10min`: Real-time measurements every 10 minutes\n\n### Station Codes\n\nWeather stations use 3-letter codes:\n\n- `PAY`: Payerne\n- `VIT`: Villars-Tiercelin\n- `KLO`: Zurich/Kloten\n- `GVE`: Geneva\n- And many more...\n\nIf you use an invalid code, the tool will show you all available stations.\n\n### References\n\n[STAC browser](https://data.geo.admin.ch/browser/index.html#/collections/ch.meteoschweiz.ogd-smn?.language=en)\n\nFor the list of available stations and parameters, consult the following CSV files:\n\n- List of regular stations (SMN): [ogd-smn_meta_stations.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_stations.csv)\n- List of precipitation stations (SMN Precip): [ogd-smn-precip_meta_stations.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_stations.csv)\n\n- List of regular parameters (SMN): [ogd-smn_meta_parameters.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_parameters.csv)\n- List of precipitation parameters (SMN Precip): [ogd-smn-precip_meta_parameters.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_parameters.csv)\n\n- Inventory of regular stations (SMN): [ogd-smn_meta_datainventory.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn/ogd-smn_meta_datainventory.csv)\n- Inventory of precipitation stations (SMN Precip): [ogd-smn-precip_meta_datainventory.csv](https://data.geo.admin.ch/ch.meteoschweiz.ogd-smn-precip/ogd-smn-precip_meta_datainventory.csv)\n\n## Python API Examples\n\n```python\nfrom datetime import date\nfrom mchextract import get_data\n\n# Get recent weather for analysis\ndata = get_data(\n    stations=['PAY', 'VIT'],\n    variables=['temperature', 'precipitation'],\n    start_date=date(2024, 6, 1),\n    end_date=date(2024, 6, 7),\n    timescale='daily'\n)\n\n# Basic data exploration\nprint(f\"Data shape: {data.shape}\")\nprint(f\"Average temperature: {data['temperature'].mean():.1f}\u00b0C\")\nprint(f\"Total precipitation: {data['precipitation'].sum():.1f}mm\")\n\n# Save for Excel\ndata.write_csv(\"weather_analysis.csv\")\n```\n\n## About the Data\n\n### Swiss Weather Network\n\nThis tool accesses data from Switzerland's official weather monitoring network:\n\n- **~160 complete weather stations**: Measure temperature, precipitation, wind, sunshine, humidity, radiation, and pressure\n- **~100 precipitation stations**: Focus on rainfall and snow measurements\n\n### Data Types Available\n\n- **10-minute data**: Real-time measurements (updated every 20 minutes)\n- **Hourly data**: Hourly summaries\n- **Daily data**: Daily summaries (most common for research)\n- **Monthly data**: Monthly climate summaries\n\n### Data Coverage\n\n- **Historical**: From when each station started until end of last year\n- **Recent**: From January 1st of current year until yesterday\n- **Real-time**: Current data (only for hourly and 10-minute intervals)\n\n### Data Quality\n\n- All data comes pre-processed from MeteoSwiss\n- Quality control and validation already applied\n- Follows international meteorological standards\n- Some stations have data going back to 1981 or earlier\n\n## Troubleshooting\n\n### Common Problems\n\n#### `mch-extract`: command not found\n\n- Make sure you have installed the package correctly using `pip install mch-extract`.\n- Check your PATH environment variable to ensure the `mch-extract` command is accessible.\n- If using a virtual environment, make sure it is activated before running the command.\n\n#### Invalid station code\n\n- Check your 3-letter station codes (e.g., PAY, KLO, GVE)\n- The tool will show available stations if you use an invalid code\n\n#### No data available for date range\n\n- Make sure your dates are in YYYY-MM-DD format\n- Check that the date range is reasonable (not too far in the future)\n- Some stations may not have all variables available\n\n#### \"Network error\" or \"Download failed\"\n\n- Check your internet connection\n- MeteoSwiss servers might be temporarily unavailable\n\n#### Need more help?\n\n- Use `--verbose` to see detailed information about what's happening\n- Check that your dates and station codes are correct\n\n### Getting Detailed Output\n\nAdd `--verbose` to any command to see what the tool is doing:\n\n```bash\nmch-extract --from 2024-01-01 --stations PAY --variables temperature --daily --output debug.csv --verbose\n```\n\n## Important Notes\n\n### Attribution\n\nIf using this data in publications or research, please consult MeteoSwiss guidelines on how to cite them. Data is provided under [Creative Commons License CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). See [Terms of use](https://opendatadocs.meteoswiss.ch/general/terms-of-use).\n\n### Disclaimer\n\n- This tool is **NOT official** and **NOT affiliated** with MeteoSwiss\n- It provides convenient access to publicly available MeteoSwiss OpenData\n- For climate analyses, consider MeteoSwiss' [official climate data products](https://opendatadocs.meteoswiss.ch/c-climate-data)\n\n### Data Usage\n\n- All data comes from MeteoSwiss OpenData and can be used freely\n- Please respect MeteoSwiss servers - don't make excessive requests\n- For large-scale or commercial usage, consider contacting MeteoSwiss directly\n- This tool is not meant to be integrated into any automated solutions\n\n## Development and Contributing\n\nThis project is open source. For developers interested in:\n\n- Setting up a development environment\n- Running tests\n- Contributing code\n- Building from source\n\nPlease see [DEVELOPMENT.md](https://github.com/martintops/mch-extract/blob/main/DEVELOPMENT.md) for detailed technical documentation.\n\n## Learn More\n\n- [MeteoSwiss OpenData Documentation](https://opendatadocs.meteoswiss.ch/)\n- [Weather Station Network Information](https://opendatadocs.meteoswiss.ch/a-data-groundbased/a1-automatic-weather-stations)\n- [Interactive Station Map](https://www.meteoswiss.admin.ch/services-and-publications/applications/measurement-values-and-measuring-networks.html#param=messnetz-automatisch&lang=en)\n- [MeteoSwiss Open Data Explorer](https://www.meteoswiss.admin.ch/services-and-publications/applications/ext/download-data-without-coding-skills.html)\n\n### Keywords\n\nMeteoSwiss, MeteoSchweiz, M\u00e9t\u00e9oSuisse, data extraction, OpenData, wrapper, Python API, Python package\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package for extracting meteorological data from MeteoSwiss OpenData API",
    "version": "0.3.1",
    "project_urls": {
        "Documentation": "https://github.com/martintops/mch-extract#readme",
        "Homepage": "https://github.com/martintops/mch-extract",
        "Issues": "https://github.com/martintops/mch-extract/issues",
        "Repository": "https://github.com/martintops/mch-extract"
    },
    "split_keywords": [
        "data",
        " meteorology",
        " meteoswiss",
        " ogd",
        " switzerland",
        " weather"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "016803464d69474856a59488a4092d41e987bab68a5f83a6c92375ca45e33364",
                "md5": "6bf3b48a5591274c66b654bb96adf169",
                "sha256": "9ccfd0f18c5d55d0adbd3b969f680adad389966925e26311c0ea345d89a1a9a6"
            },
            "downloads": -1,
            "filename": "mch_extract-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6bf3b48a5591274c66b654bb96adf169",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 25719,
            "upload_time": "2025-07-21T20:08:21",
            "upload_time_iso_8601": "2025-07-21T20:08:21.921012Z",
            "url": "https://files.pythonhosted.org/packages/01/68/03464d69474856a59488a4092d41e987bab68a5f83a6c92375ca45e33364/mch_extract-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a3a4cffd7d49d368125623654c45c79434ab83e6a7c3d3efe1e1bb537e34e02c",
                "md5": "47e11d2898a1e0414d265aec29faff74",
                "sha256": "9d57d2d17838497aec3da491186117e93294b49b8b6e5e4f9ab51573093129d2"
            },
            "downloads": -1,
            "filename": "mch_extract-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "47e11d2898a1e0414d265aec29faff74",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 60343,
            "upload_time": "2025-07-21T20:08:22",
            "upload_time_iso_8601": "2025-07-21T20:08:22.913838Z",
            "url": "https://files.pythonhosted.org/packages/a3/a4/cffd7d49d368125623654c45c79434ab83e6a7c3d3efe1e1bb537e34e02c/mch_extract-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 20:08:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "martintops",
    "github_project": "mch-extract#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mch-extract"
}
        
Elapsed time: 1.54088s