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
- Clone the repository:
git clone https://github.com/justin-napolitano/european-gas-imports.git
cd european-gas-imports
- Install Python dependencies:
pip install -r requirements.txt
- Configure Dropbox API token in
backup_html.pyby 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.