Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Poriscope 1.9.0 documentation
Poriscope 1.9.0 documentation

User Manuals:

  • User Guide
    • Getting Started
    • User Installation
    • Workflow Overview
    • Tutorial and Documentation
    • Raw Data Tab
    • Event Analysis Tab
    • MetaData Tab
    • Clustering Tab
    • Protein Tab
    • Settings Tab
    • Menus and Session Management
    • Scripting with Poriscope
    • Filtering and Querying
    • Running the Software
    • FAQ
  • Developer Guide
    • Getting Started
    • System Architecture
      • MainView Overview
      • MainModel Overview
      • MainController Overview
      • MainView
      • MainModel
      • MainController
    • Development Workflow
      • Developer Setup and Hook Installation
      • Quality Control and Developer Workflow
      • Post-merge Automation
      • Code Ownership
    • Plugin Development
      • Where to Begin
        • Where to Begin
        • Understanding Base Classes
        • Understanding Signals
      • Frontend Plugin Development
        • Ready to Build Your Own Plugin?
          • MetaView as a Base Class
          • MetaModel as a Base Class
          • MetaController as a Base Class
        • Keeping It Minimal: HelloWorld Tutorial
        • From HelloWorld to a Full MVC Analysis Tab
          • SimpleCalc Full Code Example
        • What’s next ?
          • Adding a Walkthrough to Your Custom MVC Plugin
      • Backend Plugin Development
        • Ready to Build Your Own Data Plugin?
          • Base Data Plugin
          • Build a MetaReader subclass
          • Building a MetaFilter subclass
          • Building a MetaEventFinder subclass
          • Building a MetaWriter subclass
          • Build a MetaEventLoader subclass
          • Build a MetaEventFitter subclass
          • Build a MetaDatabaseWriter subclass
          • Build a MetaDatabaseLoader subclass
          • Thread Safety and Serial Channel Operations

Base Classes:

  • Abstract Base Classes
    • BaseDataPlugin
    • MetaController
    • MetaDatabaseLoader
    • MetaDatabaseWriter
    • MetaEventFinder
    • MetaEventFitter
    • MetaEventLoader
    • MetaFilter
    • MetaModel
    • MetaReader
    • MetaView
    • MetaWriter
    • QtHandler

Plugins:

  • Plugins
    • Analysistabs
      • ProteinView
      • ProteinModel
      • RawDataController
      • MetadataView
      • ClusteringController
      • RawDataModel
      • MetadataController
      • EventAnalysisModel
      • EventAnalysisView
      • ClusteringView
      • RawDataView
      • ClusteringModel
      • EventAnalysisController
      • ProteinController
      • MetadataModel
      • Utils
        • EventAnalysisControls
        • RawDataControls
        • WalkthroughMixin
        • IntroDialog
        • Overlay
        • StepDialog
        • ProteinControls
        • MetadataControls
        • ClusteringControls
    • Datareaders
      • SingleBinaryDecoder
      • ChimeraReader20240101
      • ChimeraReader20240501
      • BinaryReader1X
      • ChimeraReaderVC100
      • TCossaLabABFReader
      • LegacyElementsReader
    • Datawriters
      • SQLiteEventWriter
    • Db Loaders
      • SQLitePeakDBLoader
      • SQLiteDBLoader
    • Dbwriters
      • SQLiteDBWriter
    • Eventfinders
      • BoundedBlockageFinder
      • ThresholdBlockageFinder
      • ClassicBlockageFinder
    • Eventfitters
      • NoFitter
      • ClassicCUSUM
      • _ClassificationWarningCollector
      • PeakFinder
      • P6Flags
      • SingleSublevel
      • HackyList
      • Sublevels
      • NanoTrees
      • IntraCUSUM
      • Basic_PeakFinder
      • CUSUM
    • Eventloaders
      • SQLiteEventLoader
    • Filters
      • BesselFilter
      • WaveletFilter

Signals:

  • Global Signal
    • API Overview
    • Example Usage: RawDataView
  • Data Plugin Controller Signal
    • API Overview
    • Example Usage: editing plugin settings from a view
  • Which to use

Logging Decorators:

  • Logging
Back to top
View this page

Development Workflow¶

This section covers how Poriscope’s automated quality checks work, how to install the Git hooks that run them, what happens automatically after a merge, and who maintains which parts of the codebase. If you’re preparing to submit a pull request, go straight to Pre-Pull-Request Compliance Checklist in Quality Control and Developer Workflow.

  • Developer Setup and Hook Installation
  • Quality Control and Developer Workflow
  • Post-merge Automation
  • Code Ownership
Next
Developer Setup and Hook Installation
Previous
MainController
Copyright © 2024, Kyle Briggs, Carolina González G.
Made with Sphinx and @pradyunsg's Furo