Skip to main content

chATLAS Scrape

A Python package for scraping and processing data for the chATLAS project. This package provides comprehensive tools for extracting markdown documentation from GitLab repositories and processing it for use in RAG (Retrieval-Augmented Generation) systems.

Overview

chATLAS_Scrape is part of the chATLAS packages ecosystem, designed specifically for the ATLAS collaboration's documentation and knowledge management needs. It handles the data ingestion pipeline, extracting and processing markdown content from CERN GitLab repositories.

The GitLab scraping and preprocessing workflows are regularly executed as scheduled GitLab pipelines, ensuring that the chATLAS knowledge base stays up-to-date with the latest documentation changes across ATLAS repositories.

Features

GitLab Scraping

  • Multi-stage scraping pipeline: Three-stage process for comprehensive project discovery and content extraction
  • Smart filtering: Automatically excludes archived projects, forks, personal repositories, and irrelevant projects
  • Rate limiting: Built-in rate limiting to respect GitLab API limits
  • Configurable: Customizable filtering criteria, timeouts, and project selection rules

Markdown Processing

  • Intelligent chunking: Advanced text splitting that preserves markdown structure
  • Content preprocessing: Handles GitLab-specific markdown features (admonitions, content tabs)
  • Structural preservation: Maintains document hierarchy and formatting during processing
  • Filtering: Content-based filtering to exclude non-relevant files

Installation

Install the package using uv (recommended):

cd chATLAS_Scrape
uv sync

Configuration

Environment Variables

Set up your GitLab Personal Access Token:

export GITLAB_PAT="your_gitlab_personal_access_token"

Configuration Options

The scraping behavior can be customized in chATLAS_Scrape/gitlab/config.py:

  • Base URL: Defaults to https://gitlab.cern.ch
  • Project filtering: Exclude projects containing specific keywords
  • Minimum file requirements: Set minimum number of markdown files per project
  • API timeouts: Configure REST (30s) and GraphQL (60s) request timeouts

Usage

Basic Scraping Workflow

  1. Project Discovery: Find and filter relevant GitLab projects
  2. Content Extraction: Download markdown files from selected projects
  3. Processing: Clean and chunk the content for downstream use

Running Tests

Execute the test suite:

uv run pytest

Metadata

Release files for chATLAS_Scrape 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chATLAS_Scrape 0.0.2
File Size Uploaded Provenance Actions
chatlas_scrape-0.0.2.tar.gz 30.2 kB Without provenance Details for chatlas_scrape-0.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for chATLAS_Scrape 0.0.2
File Interpreter ABI Platform Actions
chatlas_scrape-0.0.2-py3-none-any.whl Python 3 none any Details for chatlas_scrape-0.0.2-py3-none-any.whl

Total release size: 68.0 kB

Release files / chatlas_scrape-0.0.2.tar.gz

Download URL chatlas_scrape-0.0.2.tar.gz
Size 30.2 kB
Tags Source
SHA-256 checksum
How to use checksums
58af23ed420a62254c44e9feb72c3b101be46140ce03b06cd37cd95b3ec83a0e
BLAKE2b-256 checksum
How to use checksums
05317cd67c96bc87056edc4f5674ee768d6e54b374873d7af496a2252a931148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / chatlas_scrape-0.0.2-py3-none-any.whl

Download URL chatlas_scrape-0.0.2-py3-none-any.whl
Size 37.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6367cc18dd38a66ad96f6fe53f55cab8e8d25b5b224408e153dfb1338837f604
BLAKE2b-256 checksum
How to use checksums
4a82dc5f66247c9c413f933b2e86ac191672e5e6f0f958ea98b2f74e7034907a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for chATLAS_Scrape 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page