Skip to content

Development

Package Layout

The package contains files for building, testing, and continuous integration at its root, but it is broadly organized as shown below. Only the main components are included in this overview.

WaLSAtools/
├── codes/
│   ├── python/                     # Python implementation of WaLSAtools
│   │   ├── WaLSAtools/             # Core library
│   │   ├── setup.py                # Setup script for Python
│   │   └── README.md               # Python-specific README
│   ├── idl/                        # IDL implementation of WaLSAtools
│   │   ├── WaLSAtools/             # Core library
│   │   ├── setup.pro               # Setup script for IDL
│   │   └── README.md               # IDL-specific README
├── docs/                           # Documentation for WaLSAtools
├── examples/                       # Worked examples directory
│   ├── python/                     # Python-specific examples
│   │   └── Worked_examples__NRMP/
│   ├── idl/                        # IDL-specific examples
│   │   └── Worked_examples__NRMP/
├── LICENSE                         # License information
├── NOTICE                          # Copyright Notice
└── README.md                       # Main repository README

Directory Structure

Directory Description
codes Contains the main source codes, their associated analysis modules and dependencies for analysis tools in both Python and IDL. Subdirectories house any third-party components required for the package.
docs Contains the source files for documentation. Contributions to Markdown (.md) files under the root directory or python and idl subdirectories are welcome via pull requests. Other subdirectories manage the website's visual style and should not be edited. Images and PDF files should be stored in their respective subfolders.
examples Includes sample datasets and example scripts demonstrating how to use WaLSAtools.

Key Files

File Description
mkdocs.yml Configuration file for generating the documentation website using MkDocs.
WaLSAtools.py The main Python script, serving as the core of WaLSAtools. This provides the essential framework for Python users.
walsatools.pro The main IDL script, providing the necessary framework for WaLSAtools in IDL. It is the primary entry point when using WaLSAtools in IDL.

Editing Documents

All documentation is written in Markdown, with some additional syntax and extensions. It is converted to HTML using Python Markdown and deployed via gh-pages. For those new to Markdown, you can learn about its syntax and structure here.

  • Markdown Editing: Using Visual Studio Code is highly recommended for working with Markdown files and coding in Python, IDL, or other languages. To ensure an optimal experience, install all necessary extensions for Markdown and the relevant programming languages.
  • Contribution Process: Edit Markdown files directly within the docs directory and submit your changes via pull requests. Always preview changes locally before pushing updates.