F# Data Library


F# Data: Library for Data Access

The F# Data library (FSharp.Data.dll) implements everything you need to access data in your F# applications and scripts. It implements F# type providers for working with structured file formats (CSV, JSON and XML) and for accessing the WorldBank and Freebase data. It also includes helpers for parsing JSON and CSV files and for sending HTTP requests.

The F# Data Library is available as FSharp.Data on NuGet. To install the library, run the following command in the Package Manager Console:
PM> Install-Package FSharp.Data

Alternatively, you can download the source as a ZIP file or download the compiled binaries as a ZIP.

Documentation

One of the key benefits of this library is that it comes with a comprehensive documentation. The documentation is automatically generated from *.fsx files in the samples folder. If you find a typo, please submit a pull request!

  • F# Data is the documentation home with links to pages that document individual type providers (CSV, XML, JSON, WorldBank and Freebase) as well as for other public types available in FSharp.Data.dll.

  • F# Data Experimental is a documentation for experimental extensions to F# Data. The library contains providers that do not match high quality standards yet. Currently, it includes a provider for REST APIs documented using apiary.io.

Contributing

The project is hosted on GitHub where you can report issues, fork the project and submit pull requests. If you're adding new public API, please also contribute samples that can be turned into a documentation.

  • If you want to discuss an issue or feature that you want to add the to the library, then you can submit an issue or feature request via Github or you can send an email to the F# open source mailing list.

  • For more information about the library architecture, organization and more (such as the support for portable libraries for Windows Phone, Silverlight etc.) see the contributing to F# data page.

Library philosophy

This library focuses on providing a simple read-only access to the structured documents and other data sources. It does not aim to be a comprehensive collection of F# type providers (which can be used for numerous other purposes). Moreover, this library (currently) does not provide API for creating or mutating documents.

If you're interested in other F# type providers then the FSharpx library might be of interest.

Library license

The library is available under Apache 2.0. For more information see the License file in the GitHub repository. In summary, this means that you can use the library for commercial purposes, fork it, modify it as you wish.

Fork me on GitHub