Skip to content

# File Data Sync for Neutron Beams πŸ“‘πŸ”¬ This repository provides a **Python-based tool** to synchronize data from the **V20 Berlin beamline** to the **European Spallation Source (ESS)** neutron data catalog. It handles data transfer, authentication, reconciliation, and validation for seamless integration into the catalog. --- ## Features ✨

Notifications You must be signed in to change notification settings

garethcmurphy/File-Data-Sync-for-Neutron-Beams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Data Sync for Neutron Beams πŸ“‘πŸ”¬

This repository provides a Python-based tool to synchronize data from the V20 Berlin beamline to the European Spallation Source (ESS) neutron data catalog. It handles data transfer, authentication, reconciliation, and validation for seamless integration into the catalog.


Features ✨

  • Data Synchronization: Fetches and syncs neutron beamline data to ESS.
  • Service Account Authentication: Ensures secure access to the data catalog.
  • Reconciliation & Validation: Verifies the data sync process for accuracy.

Prerequisites πŸ› οΈ

  • Python 3.8+
  • Required libraries:
    • requests
    • pandas

Install dependencies:
pip install requests pandas


Installation

  1. Clone the repository:
    git clone https://github.com/your-username/neutron-data-sync.git
    cd neutron-data-sync

  2. Install dependencies:
    pip install -r requirements.txt


Usage πŸ”§

  1. Update the config.json file with:

    • Source and destination details.
    • ESS service account credentials.
  2. Sync data from V20 to ESS:
    python sync_data.py

  3. Reconcile and validate synced data:
    python validate_sync.py


File Structure πŸ“‚

  • sync_data.py: Script for syncing data between beamlines.
  • validate_sync.py: Script for reconciling and validating synced data.
  • config.json: Configuration for source, destination, and authentication.
  • requirements.txt: Python dependencies.
  • README.md: Documentation for the repository.

Example Commands

  • Start data sync:
    python sync_data.py

  • Validate the sync process:
    python validate_sync.py


Contributing 🀝

  1. Fork the repository.

  2. Create a new branch:
    git checkout -b feature/your-feature

  3. Commit your changes:
    git commit -m "Add your feature"

  4. Push the branch:
    git push origin feature/your-feature

  5. Open a pull request.


License πŸ“

This project is licensed under the MIT License. See the LICENSE file for details.


Streamline neutron data syncing and validation with this Python tool! πŸ“‘πŸ”¬

About

# File Data Sync for Neutron Beams πŸ“‘πŸ”¬ This repository provides a **Python-based tool** to synchronize data from the **V20 Berlin beamline** to the **European Spallation Source (ESS)** neutron data catalog. It handles data transfer, authentication, reconciliation, and validation for seamless integration into the catalog. --- ## Features ✨

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages