{"id":17062,"date":"2021-11-02T06:00:30","date_gmt":"2021-11-02T13:00:30","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-fx-open-source-now-available\/"},"modified":"2025-06-11T07:52:00","modified_gmt":"2025-06-11T14:52:00","slug":"power-fx-open-source-now-available","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-fx-open-source-now-available\/","title":{"rendered":"Power Fx: Open source now available"},"content":{"rendered":"

We are very excited to announce the preview release of Microsoft Power Fx as open source.\u00a0 Under the MIT license, you can now freely integrate this Excel-like, low code programming language in your own projects.<\/p>\n

We announced Power Fx at Ignite in March with two blog posts, one introducing Power Fx<\/a> and another going into details of the language<\/a>.\u00a0 \u00a0Both have been among the most popular of our posts this year.\u00a0 The interest and excitement in this new language has far exceeded our expectations.<\/p>\n

Now we are ready to share the source code.\u00a0 This release is very much a\u00a0 preview, with a major version number of 0.\u00a0 We will be working hard, with your input, to solidify the language semantics and the hosting APIs.\u00a0 \u00a0Not all the functions are implemented yet, the formula bar is not yet available, and there will be many other parts of the puzzle that I’m sure you will ask about.\u00a0 That’s fine, it’s a journey, and we very much look forward to taking this journey with you.<\/p>\n

Our GitHub repo at https:\/\/github.com\/microsoft\/power-fx<\/a>\u00a0is a great place for your feedback and where we will be making future announcements.<\/p>\n

Low code for everyone<\/h2>\n

Power Fx is the low code language for everyone.\u00a0 It leverages the existing knowledge of hundreds of millions of users who already know how to express logic in Excel.\u00a0 Natural language support with GPT-3 and no code builders that create Power Fx formulas can lower the bar even further.<\/p>\n

Pro devs love Power Fx too because it can dramatically cut their development time.\u00a0 It offers a declarative, strongly typed, and functional language base.\u00a0 \u00a0Incremental compilation, Intellisense, instant error reporting, and running while authoring provide a great authoring experience.\u00a0 We embrace existing tools and workflows such as VS Code and Git, today announcing experimental co-authoring support for Power Apps Studio via GitHub, Azure Dev Ops, or any other Git provider.<\/p>\n

And best of all, their is a smooth spectrum of support between these two camps, using Power Fx as the common language.\u00a0 Fusion teams with a wide spectrum of skills and expertise can work together to very effectively create solutions.<\/p>\n

Low code everywhere<\/h2>\n

Since March, we have delivered private previews of two integrations into the Power Platform.\u00a0 The first was Model-driven app commanding<\/a>, enabling makers to write Power Fx to implement command, simplifying the process and no JavaScript is required:<\/span>
\n\"\"<\/p>\n

Second, we implemented\u00a0Dataverse formula columns<\/a>.\u00a0 Use Power Fx to easily write concise and powerful formulas across the columns of a record:<\/span>
\n\"\"<\/p>\n

And we are just getting started.\u00a0 \u00a0Integrations into Power Virtual Agents and Power Automate Desktop are under way and will arrive next year.<\/p>\n

The value proposition is clear: if someone learns Power Fx in one product, they can leverage that knowledge in another product, and another.\u00a0 It’s the same reason Power Fx was born in the first place, to leverage the existing knowledge of hundreds of millions of Excel users.<\/p>\n

But why stop there.\u00a0 Wouldn’t the leverage of knowledge be even more powerful if it was industry wide?\u00a0 Successful programming languages today aren’t isolated.\u00a0 They find uses in scenarios we can’t even imagine yet.\u00a0 They need users and an active community to help them grow.\u00a0 \u00a0This is why we are making Power Fx open source.\u00a0 Low code for everyone, everywhere.<\/p>\n

Acumatica<\/a> has been on this journey with us from the beginning.\u00a0 Early on they saw the potential and started working with us to help define the functionality and hosting APIs, providing our team with critical feedback.\u00a0 Ajoy Krishnamoorthy,\u00a0Chief Strategy Officer & Executive Vice President at Acumatica, presented their Power Fx work at Acumatica’s Summit 2021.<\/a><\/p>\n

Our goal is to enable Acumatica, and all of you, to empower your users with low code customizations based on the well known Excel formula language.\u00a0 That is Power Fx.<\/p>\n

Your turn!<\/h2>\n

Let’s take Power Fx out for a spin with a simple example: a\u00a0Read-Eval-Print-Loop (REPL) console application where we can define formulas, work with variables, and evaluate expressions.<\/p>\n

I’m going to use the freely available\u00a0Visual Studio Community Edition<\/a> for these steps to make it easy.\u00a0 But you don’t have to, everything here is available on GitHub as C# sources and as NuGet packages.<\/p>\n

    \n
  1. If you don’t already have a copy installed of Visual Studio 2019 or later, install the Community Edition<\/a>.<\/li>\n
  2. Start Visual Studio.\u00a0 In the What would you like to do?<\/strong> dialog select Clone a Repository<\/strong> on the right hand side.<\/li>\n
  3. Enter https:\/\/github.com\/microsoft\/power-fx-host-samples<\/a> and select Clone<\/strong>.<\/li>\n
  4. Select the ConsoleREPL\u00a0<\/strong>solution in the Solution Explorer.<\/li>\n
  5. From the Build<\/strong> menu, select Build Solution<\/strong>.\u00a0 This will download and install the required Power Fx NuGet packages.<\/li>\n
  6. From the Debug<\/strong> menu select Start Debugging<\/strong>.\u00a0 A console window will pop up.<\/li>\n
  7. Power Fx is running!\u00a0\u00a0<\/strong>Enter some Excel formulas and try it out.<\/li>\n<\/ol>\n

    \"\"<\/p>\n

    Let’s take this step by step:<\/p>\n