Skip to content

slaclab/trace

Repository files navigation

Trace

trace is an PyDM-based application developed at SLAC National Accelerator Laboratory. trace has been built to replace the antiquated StripTool and Java Archive Viewer applications used to plot EPICS data. trace is a flexible, modern application for plotting live data (Channel Access or PV Access), and historical data from the EPICS Archive Appliance. With built in conveniences like an archived PV search, and designed to be easily launched from PyDM widgets, files, or the command line, trace will provide an improved user experience for accelerator staff. Trace is an open-source project.

For more information and a how to guide on trace see the project's website

Report bug · Request feature

Contributing to Trace

Thank you for your interest in contributing to Trace! Your contributions help make the project better for everyone. Below are the guidelines to ensure a smooth and efficient collaboration.

How to Contribute

  1. Fork and Clone the Repository

    • Fork the Trace repository on GitHub.
    • Clone your fork to your local machine:
      git clone https://github.com/your-username/trace.git
      cd trace
  2. Set Up Your Development Environment

    • Install the necessary dependencies:
      pip install -r requirements.txt
  3. Implement Your Changes

    • Code Style: Follow the PEP8 style guide for Python code.
    • Documentation: Add docstrings to all new methods and classes using the NumPy style guide.
    • Unit Tests: Write unit tests for your changes using Pytest.
  4. Run Tests Locally

    • Ensure all tests pass before submitting:
      pytest
  5. Create a Pull Request (PR)

    • When you feel like your feature is ready to be merged into Trace make a PR and request feedback from the Maintainers.
    • Provide a descriptive title and detailed description of your changes.

Pull Request Requirements

To ensure your PR is reviewed efficiently, please adhere to the following:

  • Unit Tests:

    • Include tests for all new functionality.
    • Ensure tests cover different scenarios and edge cases.
  • Documentation:

    • All new methods and classes must have comprehensive docstrings.
    • Follow the NumPy style guide for consistency.
  • Code Quality:

    • Adhere to the PEP8 style guide.
    • Ensure your code is clean, well-organized, and free of unnecessary complexity.

Additional Guidelines

  • Communication:
    • For significant changes, consider opening an issue to discuss your approach before starting.

Resources

Notes on Contributing to the Documentation

  1. Set Up Your Development Environment

    • Ensure you are working on your development environment.
  2. Navigate to the Project Directory

    • Go to the top-level trace project directory, which contains the mkdocs.yml file.
  3. Make and Test Your Changes Locally

    • Edit the documentation files as needed.
    • Test your changes locally using MkDocs before submitting a pull request.

Detailed Steps

  1. Set Up Your Development Environment

    • Make sure you have all the necessary tools installed (e.g., Python, MkDocs).
  2. Navigate to the Project Directory

    cd path/to/trace
    
  3. Install Dependencies

     pip install -r requirements.txt
    
  4. Serve the Documentation Locally

     mkdocs serve
    
  1. Submit Your Changes
  • After verifying your changes, commit and push them to your forked repository.
  • Create a pull request to submit your updates.

If you have any questions or need further assistance, feel free to open an issue or reach out to the maintainers.