Skip to content

Replace frictionless with pandas#136

Merged
phargogh merged 4 commits into
natcap:mainfrom
davemfish:task/130-remove-frictionless
May 6, 2026
Merged

Replace frictionless with pandas#136
phargogh merged 4 commits into
natcap:mainfrom
davemfish:task/130-remove-frictionless

Conversation

@davemfish
Copy link
Copy Markdown
Collaborator

Frictionless has proven to not be the right tool for the job, and not worth the weight of using it as a dependency. We can use pandas instead, which has proven to be a reliable package and is often used in the same contexts as geometamaker anyway.

In giving up frictionless we give up its ability to detect the tabular schema of arbitrary files. So, we are now being more explicit about the tabular file formats that we support (csv and tsv). Essentially, any text file with a character delimiter can be supported. Pandas can auto-detect the dialect of the file (the separator and quote characters).

Fixes #130

@davemfish davemfish requested a review from phargogh May 5, 2026 14:44
Copy link
Copy Markdown
Member

@phargogh phargogh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me, thanks @davemfish ! Looks like there are a few ways we could potentially be detecting table dialects (e.g. csv.Sniffer), but pandas seems to have the easiest-to-use column type inference, and I fully agree that pandas is likely to already exist in the environments where geometamaker is likely to be installed.

Farewell, frictionless!

@phargogh phargogh merged commit 49b6256 into natcap:main May 6, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Appropriate use of frictionless

2 participants