Skip to content

yoleg/flysight2csv

Repository files navigation

flysight2csv

CI Status Documentation Status Test coverage percentage

Poetry black pre-commit

PyPI Version Supported Python versions License


Documentation: https://flysight2csv.readthedocs.io

Source Code: https://github.com/yoleg/flysight2csv


Utilities for finding and reformatting FlySight 2 CSV files (SENSOR.CSV and TRACK.CSV).

💡 This is an early release. Please let me know how you use this tool and what features you would like to see.

Features

Functionality:

  • Find all the FlySight 2 CSV files in one or more directories or possible file paths.
  • View metadata (vars, sensors, columns, units, and first row) for each CSV file.
  • Copy matching files to a single directory, prepending the parent directory names to the filename.
  • Reformat the CSV files for easier use with other tools, such as Pandas dataframes.
    • Calculates ISO timestamps for non-GPS sensors from $TIME field values, if available.
    • Available formats:
      • Flat CSV (single header row)
      • JSON lines (one JSON object per line)
    • Available filters:
      • Select only the columns you need.
      • Select only the sensors you need.
  • Merge the reformatted files from each directory into an additional MERGED.csv (or .jsonl) file, sorted by timestamp.

Compatibility:

  • Works with Python 3.10+
  • Tested on Windows, Mac, and Linux
  • May be used as a Python library or command-line tool

Possible future features

Let me know if you would like to see any of these added.

  • Filter the CSV files by date/time, altitude, or other criteria.
  • Show a summary of date ranges and altitudes for the discovered CSV files.
  • Add units to the flattened CSV files.
  • FlySight 1 output format.
  • Trim the CSV files to just the descent or ascent portion of a flight.
  • Installers for Windows, Mac, and Linux.
  • Simple graphical user interface (GUI) for selecting options and running the command.

Installation

The package is published on PyPI and can be installed with pip (or any equivalent):

pip install flysight2csv

For complete installation instructions, see the installation documentation.

Usage

💡 Please note that this is an early release, and the API may change in future versions.

Preview the files to be processed:

flysight2csv source/files/or/directories/
flysight2csv source/files/or/directories/ --info=metadata

Copy just the TRACK.CSV files (unchanged) to a single directory, prepending the date and time to the filename:

flysight2csv source/files/or/directories/ -o output/path/ '--glob=**/TRACK.CSV'

Reformat all the FlySight 2 CSVs into a "flat" CSV (single header) for use with other tools:

flysight2csv source/files/or/directories/ -o output/path/ -f csv-flat

To see all available options, run flysight2csv --help or see the documentation.

Troubleshooting

See the troubleshooting section of the documentation.

Contributors ✨

Contributions of any kind welcome! Please see the contributing guide.

Credits

This package was created with Copier and the browniebroke/pypackage-template project template.

About

Find, copy, and convert FlySight 2 CSV files (SENSOR.CSV and TRACK.CSV).

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •