Read-only mirror of https://github.com/metadata-swiss/toolbox_concept_input — Bundesamt für Statistik. Issues & pull requests at the source.
  • HTML 58.5%
  • Python 37%
  • CSS 4.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sergiy Goloviatinski 7ae24cfd33
Merge pull request #29 from metadata-swiss/dependabot/pip/pip-minor-patch-27128c174b
Bump the pip-minor-patch group with 3 updates
2026-10-13 09:28:31 +02:00
.do Initital commit 2025-10-14 13:12:26 +02:00
.github Bump the github-actions-minor-patch group with 2 updates 2026-09-23 04:23:50 +00:00
data Fix CSV upload JSON parsing error by ensuring all responses are JSON 2025-10-14 15:06:40 +02:00
static Removed old logo 2025-12-10 13:48:41 +01:00
templates Fixed translation error. Added code selection from column. 2026-01-28 18:04:03 +01:00
utils fixed potential vulnerabilities, added quality gates in azure deploy pipeline 2026-08-03 14:13:42 +02:00
.dockerignore Added Dockerfile + workflow to push docker image on azure 2026-06-29 16:43:29 +02:00
.env.example Initital commit 2025-10-14 13:12:26 +02:00
.gitignore Initital commit 2025-10-14 13:12:26 +02:00
autoimport.py Adapted code for pandas upgrade 2026-09-16 10:11:37 +02:00
config.py fixed potential vulnerabilities, added quality gates in azure deploy pipeline 2026-08-03 14:13:42 +02:00
Dockerfile.azure Bump python from 3.12-slim-bookworm to 3.14-slim-bookworm 2026-08-03 12:14:58 +00:00
README.md Adjusting documentation 2025-10-15 08:59:42 +02:00
requirements.txt Bump the pip-minor-patch group with 3 updates 2026-10-07 04:25:10 +00:00
run.py fixed potential vulnerabilities, added quality gates in azure deploy pipeline 2026-08-03 14:13:42 +02:00
wsgi.py fixed potential vulnerabilities, added quality gates in azure deploy pipeline 2026-08-03 14:13:42 +02:00

I14Y AutoImport

A web tool to help describe and publish metadata for existing datasets by guiding users through importing column information to the I14Y platform. Supports both Excel (.xlsx) and CSV (.csv) files.

Overview

I14Y AutoImport analyzes Excel and CSV files, automatically detects column types, patterns, and codelists, then guides users through publishing these concepts to the I14Y platform. The tool streamlines metadata management for data catalog entries.

AI-Powered Description Generation:
Optionally, users can leverage AI to automatically generate dataset descriptions. This feature uses OpenAI's language models to create summaries based on the dataset's content and structure.

Keyword Extraction:
The tool automatically extracts keywords from the dataset by analyzing column names, detected patterns, and frequently occurring values. These keywords help improve discoverability and metadata quality.

Features

  • Excel & CSV Support: Upload and process both Excel (.xlsx) and CSV (.csv) files
  • Automatic Data Analysis: Detects column types, patterns, and codelists from uploaded files
  • Smart Type Detection: Identifies dates, numbers, text fields, and codelists with appropriate patterns
  • Multilingual Support: Facilitates translation into German, French, Italian, and English
  • Codelist Generation: Automatically generates standardized codes for codelist values
  • I14Y Integration: Direct publishing to I14Y using API tokens
  • Step-by-Step Wizard: User-friendly interface guides through the entire process
  • AI Description Generation: Uses OpenAI to generate dataset descriptions on demand
  • Automatic Keyword Extraction: Extracts relevant keywords from dataset structure and content

Deployment

See DEPLOYMENT.md for detailed instructions on deploying to DigitalOcean App Platform.

Local Development

Prerequisites

Setup

  1. Clone the repository
git clone https://github.com/I14Y-ch/concept_import.git
cd concept-import
  1. Create and activate a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install required packages
pip install -r requirements.txt
  1. Configure environment variables
cp .env.example .env
# Edit .env and add your actual credentials:
# - DEEPL_API_KEY: Your DeepL API key
# - FLASK_SECRET_KEY: Generate with: python -c "import secrets; print(secrets.token_urlsafe(32))"
  1. Run the application
python run.py
  1. Open your browser and navigate to http://127.0.0.1:5000

Usage Guide

  1. Obtain I14Y API Token from the I14Y platform
  2. Enter API Token in the first screen
  3. Select Your Organization if you're associated with multiple agencies
  4. Upload Data File: Choose either Excel (.xlsx) or CSV (.csv) format
  5. Review Column Analysis results
  6. Enrich Concepts for each column:
    • Edit generated descriptions
    • Translate to required languages
    • Generate and refine codes for codelists
  7. Publish the concepts to I14Y

Supported File Formats

  • Excel (.xlsx): All sheets and columns are analyzed
  • CSV (.csv): All columns are analyzed; ensure proper delimiter and encoding

Column Type Detection

The system automatically detects:

  • Dates (with format detection)
  • Numbers (with pattern detection)
  • Text fields
  • Codelists (with automated code generation)

For columns identified as codelists, the system provides:

  • Automated generation of standardized codes
  • Smart recognition of common entities (countries, languages, dates)
  • Translation of codelist labels into all supported languages