Automated Documentation for European Gas Imports Project

github repo

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.

hjkl / arrows · / search · :family · :tag · :datefrom · :dateto · ~/entries/slug · Ctrl+N/Ctrl+P for suggestions · Ctrl+C/Ctrl+G to cancel
entries 201/201 · entry -/-
:readyentries 201/201 · entry -/-