A data science project for exploring aircraft registered in Chile's National Aircraft Registry (R.N.A.) through a Streamlit web application.
The project workflow separates downloaded source files from analysis-ready data:
data/raw/ Unmodified source files (not versioned)
data/interim/ Temporary transformation outputs (not versioned)
data/processed/ Locally generated Parquet files (not versioned)
data/published/ Curated public Parquet required by the deployed app
data/sample/ Small publishable development samples (optional)
src/ Data preparation, analysis, and application code
assets/ Images, logos, and interface styles
docs/ Project methodology and documentation
Read data/README.md before adding data files.
Python 3.14 and Poetry are required.
poetry install
poetry run streamlit run main.pyThe application is normally available at http://localhost:8501.
- Download official source files into
data/raw/. - Use reproducible code in
src/to validate and transform them. - Store private or local results in
data/processed/as Parquet. - Generate the curated deployment dataset in
data/published/. - Query the Parquet files with DuckDB.
- Present the analytical results with Streamlit.
- Publish large processed datasets to external storage when necessary.
Place the unmodified official file at:
data/raw/2026-07-31_aeronaves_rna.csv
Then run the reproducible pipeline:
poetry run python -m src.data.prepare_aircraftThe process validates the source and generates two local tables:
data/published/aircraft.parquet
data/processed/aircraft_operators.parquet
The published table contains one row per aircraft registration and powers the deployed application. The ignored processed table preserves aircraft-operator relationships locally. Read the initial data exploration for the supporting findings and decisions.
Binary data files can change completely with every update, so Git cannot store
their differences efficiently. This repository deliberately versions only the
small curated aircraft.parquet file required for deployment. Source files and
operator relationships remain ignored.
Run the same checks used by continuous integration:
poetry check
poetry run ruff check .
poetry run ruff format --check .
poetry run pytestGitHub Actions runs these checks on every push and pull request.
- Read CONTRIBUTING.md before proposing a change.
- Follow the project Code of Conduct.
- Report vulnerabilities privately according to SECURITY.md.
The project software is available under the MIT License. The license applies to the software and project documentation, not automatically to third-party source datasets. Dataset reuse remains subject to the terms of its official publisher.
Every download must record at least its source URL, download date, cutoff date, and local filename. Public data may still have usage conditions or personal fields. Verify its license, attribution requirements, and appropriate level of detail before publishing processed data.
The data pipeline, DuckDB analytical layer, multipage Streamlit application, public deployment dataset, and automated quality checks are operational.