automation

Automated Documentation for European Gas Imports Project

Manage and analyze European natural gas import data with automated documentation and deployment using Python and shell scripts.

Shipped January 2026

This repository contains scripts and resources for managing and analyzing European natural gas import data, with a focus on documentation generation and deployment automation. It leverages Python, shell scripting, and Jupyter notebooks to build, backup, and deploy static HTML documentation.

Features

  • Automated build and deployment of HTML documentation using Makefile and shell scripts
  • Backup of generated HTML files to Dropbox via Python script
  • Dependency installation and build automation with Python pipeline classes
  • Structured project documentation using Sphinx and MyST notebooks

Tech Stack

  • Python 3.5+ (for scripting and automation)
  • Bash shell scripts for deployment and maintenance
  • Sphinx documentation generator with extensions (ablog, myst_nb, sphinx_togglebutton, etc.)
  • Dropbox API for backup operations
  • Makefile for build automation

Getting Started

Prerequisites

  • Python 3.5 or higher
  • pip package manager
  • Dropbox account and API access token
  • Make utility

Installation

  1. Clone the repository:
git clone https://github.com/justin-napolitano/european-gas-imports.git
cd european-gas-imports
  1. Install Python dependencies:
pip install -r requirements.txt
  1. Configure Dropbox API token in backup_html.py by replacing <insert your token here> with your actual token.

Usage

  • Build the HTML documentation:
make html
  • Clean previous builds:
make clean
  • Deploy the built documentation to GitHub Pages:
./deploy.sh
  • Backup the built HTML files to Dropbox:
python backup_html.py

Project Structure

acp.sh              # Shell script, purpose assumed for ACP related tasks
backup_html.py      # Python script to backup HTML build to Dropbox
chtml.sh            # Shell script, likely related to HTML processing
deploy.sh           # Shell script to deploy HTML to GitHub Pages
deployz.sh          # Alternate deploy script
doit.sh             # General purpose shell script
install.sh          # Script to install dependencies
label_list.py       # Python script to read and display labels from pickle files
Makefile            # Build automation file
pullit.sh           # Shell script to pull updates
pushit.sh           # Shell script to push commits
python_build.py     # Python script containing build and dependency pipeline classes
requirements.txt    # Python dependencies
requirements_rocky.txt # Alternative requirements file
requirments.txt     # Possibly a typo duplicate of requirements.txt
source/             # Documentation source files including Sphinx config
todo/               # To-do notes and plans
uninstall.sh        # Script to uninstall or clean environment

Future Work / Roadmap

  • Improve documentation coverage and add project description
  • Refactor and unify deployment scripts for consistency
  • Automate Dropbox token management and error handling
  • Extend data analysis capabilities for European gas imports
  • Integrate data visualization and mapping of gas routes and ports
  • Enhance testing and CI/CD pipeline for build and deployment

Note: Some assumptions were made due to missing explicit project description.

Need more context?

Want help adapting this playbook?

Send me the constraints and I'll annotate the relevant docs, share risks I see, and outline the first sprint so the work keeps moving.