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
- Project Discovery: Find and filter relevant GitLab projects
- Content Extraction: Download markdown files from selected projects
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.